diff options
author | jhb <jhb@FreeBSD.org> | 2002-08-26 15:12:47 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2002-08-26 15:12:47 +0000 |
commit | 76ee9d6272c26471e38c81e39273139854083d0d (patch) | |
tree | 4582718d460a65ee70565c1f633fed327dff4735 /sys/dev/acpica/acpi_pcib_acpi.c | |
parent | ea1a1404ad4b6a4d52978b00b93fbd47d5a0faaf (diff) | |
download | FreeBSD-src-76ee9d6272c26471e38c81e39273139854083d0d.zip FreeBSD-src-76ee9d6272c26471e38c81e39273139854083d0d.tar.gz |
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.
Diffstat (limited to 'sys/dev/acpica/acpi_pcib_acpi.c')
-rw-r--r-- | sys/dev/acpica/acpi_pcib_acpi.c | 4 |
1 files changed, 2 insertions, 2 deletions
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; } |