From 005025984ebefb339291c471dccaef807ec5cf3c Mon Sep 17 00:00:00 2001 From: njl Date: Sat, 25 Sep 2004 06:15:56 +0000 Subject: [PATCH] Allow routing to the SCI even if it's not in the list of valid IRQs. MFC if: no problems --- sys/dev/acpica/acpi_pci_link.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/dev/acpica/acpi_pci_link.c b/sys/dev/acpica/acpi_pci_link.c index cc8ec7b3ce3c..555894663574 100644 --- a/sys/dev/acpica/acpi_pci_link.c +++ b/sys/dev/acpica/acpi_pci_link.c @@ -563,6 +563,16 @@ acpi_pci_link_is_valid_irq(struct acpi_pci_link_entry *link, UINT8 irq) if (irq == 0) return (FALSE); + /* + * Some systems have the initial irq set to the SCI but don't list + * it in the valid IRQs. Add a special case to allow routing to the + * SCI if the system really wants to. This is similar to how + * Windows often stacks all PCI IRQs on the SCI (and this is vital + * on some systems.) + */ + if (irq == AcpiGbl_FADT->SciInt) + return (TRUE); + for (i = 0; i < link->number_of_interrupts; i++) { if (link->interrupts[i] == irq) return (TRUE);