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:
John Baldwin 2002-08-26 15:12:47 +00:00
parent dd1d26511d
commit 473f1ca90d
2 changed files with 4 additions and 4 deletions

View File

@ -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;
}

View File

@ -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;
}