summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2004-09-20 05:56:01 +0000
committernjl <njl@FreeBSD.org>2004-09-20 05:56:01 +0000
commit37ca5a406abd67cd664e3fc56ece958a56e18940 (patch)
treed971f4b762db809727eff92f95c3ea3c1179ecda /sys/dev/acpica
parent2bec23fce9e89b646d9469ad5720ac41b968f968 (diff)
downloadFreeBSD-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.
Diffstat (limited to 'sys/dev/acpica')
-rw-r--r--sys/dev/acpica/acpi_pci_link.c7
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;
OpenPOWER on IntegriCloud