diff options
author | njl <njl@FreeBSD.org> | 2004-09-20 05:56:01 +0000 |
---|---|---|
committer | njl <njl@FreeBSD.org> | 2004-09-20 05:56:01 +0000 |
commit | 37ca5a406abd67cd664e3fc56ece958a56e18940 (patch) | |
tree | d971f4b762db809727eff92f95c3ea3c1179ecda | |
parent | 2bec23fce9e89b646d9469ad5720ac41b968f968 (diff) | |
download | FreeBSD-src-37ca5a406abd67cd664e3fc56ece958a56e18940.zip FreeBSD-src-37ca5a406abd67cd664e3fc56ece958a56e18940.tar.gz |
Record a problem we can't workaround for now regarding duplicate interrupts
because of links left enabled while in APIC mode. A large scale rework of
irq links is underway by jhb@ which should fix this eventually.
-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 731a987..79ba4f8 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; |