summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpi_pcib.c
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2004-08-12 02:06:19 +0000
committernjl <njl@FreeBSD.org>2004-08-12 02:06:19 +0000
commit023fb85f643c000d355e0d2d8ea9b24dd53b3951 (patch)
tree4391e607c096560d6a37207d80b87b4b39611414 /sys/dev/acpica/acpi_pcib.c
parentc1da6419476db757367e9a9206649b5e816070d0 (diff)
downloadFreeBSD-src-023fb85f643c000d355e0d2d8ea9b24dd53b3951.zip
FreeBSD-src-023fb85f643c000d355e0d2d8ea9b24dd53b3951.tar.gz
Fix the PRT entry code in acpi_pci_link to always add the entry, even if
there is no irq link. Since we now use the stored copy of PRT, not the one that used to be passed into acpi_pcib_route_interrupt(), we need it in the list. [1] Fix a bug in acpi_pci_find_prt() where we weren't checking the bus, thus choosing the wrong PRT entry to use for routing the link. Also, add a printf for the case where the PRT entry is not found as this should not happen. Tested by: marcel [1]
Diffstat (limited to 'sys/dev/acpica/acpi_pcib.c')
-rw-r--r--sys/dev/acpica/acpi_pcib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/acpica/acpi_pcib.c b/sys/dev/acpica/acpi_pcib.c
index 893952f..d061b72 100644
--- a/sys/dev/acpica/acpi_pcib.c
+++ b/sys/dev/acpica/acpi_pcib.c
@@ -116,8 +116,11 @@ acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin)
/* Look up the PRT entry for this device. */
entry = acpi_pci_find_prt(pcib, dev, pin);
- if (entry == NULL)
+ if (entry == NULL) {
+ device_printf(pcib, "no PRT entry for %d.%d.INT%c\n", pci_get_bus(dev),
+ pci_get_slot(dev), 'A' + pin);
goto out;
+ }
prt = &entry->prt;
link = entry->pci_link;
if (bootverbose)
OpenPOWER on IntegriCloud