In acpi_pcib_route_interrupt(), the code claims to check to see if a PCI
LNK device (interrupt source provider sort of) is present before using it, but the code actually tested the status (_STA) of the PCI bridge device doing the routing, not the actual LNK device. Fix it to check the status of the LNK device.
This commit is contained in:
parent
153c928216
commit
ed130b16a8
@ -395,8 +395,8 @@ acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin)
|
||||
prt->Source, devinfo.HardwareId);
|
||||
goto out;
|
||||
}
|
||||
if (!acpi_DeviceIsPresent(sc->ap_dev)) {
|
||||
device_printf(sc->ap_dev, "PCI interrupt link device %s not present\n",
|
||||
if (devinfo.Valid & ACPI_VALID_STA && (devinfo.CurrentStatus & 0x9) != 0x9) {
|
||||
device_printf(pcib, "PCI interrupt link device %s not present\n",
|
||||
prt->Source);
|
||||
goto out;
|
||||
}
|
||||
|
@ -395,8 +395,8 @@ acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin)
|
||||
prt->Source, devinfo.HardwareId);
|
||||
goto out;
|
||||
}
|
||||
if (!acpi_DeviceIsPresent(sc->ap_dev)) {
|
||||
device_printf(sc->ap_dev, "PCI interrupt link device %s not present\n",
|
||||
if (devinfo.Valid & ACPI_VALID_STA && (devinfo.CurrentStatus & 0x9) != 0x9) {
|
||||
device_printf(pcib, "PCI interrupt link device %s not present\n",
|
||||
prt->Source);
|
||||
goto out;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user