From: Sepherosa Ziehau Date: Tue, 28 Aug 2012 05:43:35 +0000 (+0800) Subject: acpi/fadt: Make sure that SCI IRQ is valid X-Git-Tag: v3.2.0~241 X-Git-Url: http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/03301eb8da76a9c2518960c868de3137bc1c6fe8 acpi/fadt: Make sure that SCI IRQ is valid --- diff --git a/sys/platform/pc32/acpica5/acpi_fadt.c b/sys/platform/pc32/acpica5/acpi_fadt.c index 4f752ab..6918f25 100644 --- a/sys/platform/pc32/acpica5/acpi_fadt.c +++ b/sys/platform/pc32/acpica5/acpi_fadt.c @@ -184,6 +184,14 @@ acpi_sci_config(void) KKASSERT(mycpuid == 0); + if (machintr_legacy_intr_find(acpi_sci_irq, + INTR_TRIGGER_CONFORM, INTR_POLARITY_CONFORM) < 0) { + kprintf("ACPI FADT: SCI irq %d is invalid, disable\n", + acpi_sci_irq); + acpi_sci_irq = -1; + return; + } + if (acpi_sci_irq < 0) return; diff --git a/sys/platform/pc64/acpica5/acpi_fadt.c b/sys/platform/pc64/acpica5/acpi_fadt.c index 4f752ab..6918f25 100644 --- a/sys/platform/pc64/acpica5/acpi_fadt.c +++ b/sys/platform/pc64/acpica5/acpi_fadt.c @@ -184,6 +184,14 @@ acpi_sci_config(void) KKASSERT(mycpuid == 0); + if (machintr_legacy_intr_find(acpi_sci_irq, + INTR_TRIGGER_CONFORM, INTR_POLARITY_CONFORM) < 0) { + kprintf("ACPI FADT: SCI irq %d is invalid, disable\n", + acpi_sci_irq); + acpi_sci_irq = -1; + return; + } + if (acpi_sci_irq < 0) return;