diff options
| author | Nate Lawson <njl@FreeBSD.org> | 2004-09-20 05:56:01 +0000 |
|---|---|---|
| committer | Nate Lawson <njl@FreeBSD.org> | 2004-09-20 05:56:01 +0000 |
| commit | 520467d3ba11de107ec2fbfd11778d9047d241c3 (patch) | |
| tree | d971f4b762db809727eff92f95c3ea3c1179ecda | |
| parent | 4e526aae71b862d1b7d7845e026e8e280e9373ac (diff) | |
Notes
| -rw-r--r-- | sys/dev/acpica/acpi_pci_link.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi_pci_link.c b/sys/dev/acpica/acpi_pci_link.c index 731a9878159e7..79ba4f8db08be 100644 --- a/sys/dev/acpica/acpi_pci_link.c +++ b/sys/dev/acpica/acpi_pci_link.c @@ -416,6 +416,13 @@ acpi_pci_link_add_link(ACPI_HANDLE handle, struct acpi_prt_entry *entry) * zero and flags to indicate this link is not routed. If we can't * run _DIS (i.e., the method doesn't exist), assume the initial * IRQ was routed by the BIOS. + * + * XXX Since we detect link devices via _PRT entries but run long + * after APIC mode has been enabled, we don't get a chance to + * disable links that will be unused (especially in APIC mode). + * Leaving them enabled can cause duplicate interrupts for some + * devices. The right fix is to probe links via their PNPID, so we + * see them no matter what the _PRT says. */ if (ACPI_SUCCESS(AcpiEvaluateObject(handle, "_DIS", NULL, NULL))) { link->current_irq = 0; |
