From 76ee9d6272c26471e38c81e39273139854083d0d Mon Sep 17 00:00:00 2001 From: jhb Date: Mon, 26 Aug 2002 15:12:47 +0000 Subject: 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. --- sys/dev/acpica/acpi_pcib_acpi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/dev/acpica/acpi_pcib_acpi.c') diff --git a/sys/dev/acpica/acpi_pcib_acpi.c b/sys/dev/acpica/acpi_pcib_acpi.c index 5bc7794..2549387 100644 --- a/sys/dev/acpica/acpi_pcib_acpi.c +++ b/sys/dev/acpica/acpi_pcib_acpi.c @@ -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; } -- cgit v1.1