From: Sepherosa Ziehau Date: Mon, 10 Sep 2012 09:03:41 +0000 (+0800) Subject: acpi/resource: Only skip SCI trigger/polarity configuration X-Git-Tag: v3.2.0~184 X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/e879512252bd6ba577a447859a2a4b20be9da65c acpi/resource: Only skip SCI trigger/polarity configuration The code before this commit could cause interrupt storm on certain systems, on which certain IRQs are configured into different mode but the configured IRQs are actually never used. Reported-by: swildner@ --- diff --git a/sys/dev/acpica5/acpi_resource.c b/sys/dev/acpica5/acpi_resource.c index eae8e53959..a57b70717f 100644 --- a/sys/dev/acpica5/acpi_resource.c +++ b/sys/dev/acpica5/acpi_resource.c @@ -144,7 +144,17 @@ acpi_config_intr(device_t dev, ACPI_RESOURCE *res) else polarity = INTR_POLARITY_LOW; - if (machintr_legacy_intr_find(irq, trigger, polarity) < 0) { +#if 0 + /* + * This causes interrupt storm on certain systems, on which + * certain IRQs are configured into different mode but the + * configured IRQs are actually never used. + */ + if (machintr_legacy_intr_find(irq, trigger, polarity) < 0) +#else + if (irq == acpi_sci_irqno()) +#endif + { if (bootverbose) kprintf("acpi_config_intr: Skip irq %d config\n", irq); } else {