diff --git a/sys/dev/acpica/acpi_resource.c b/sys/dev/acpica/acpi_resource.c index 87b82a574beb..1d31d1eee310 100644 --- a/sys/dev/acpica/acpi_resource.c +++ b/sys/dev/acpica/acpi_resource.c @@ -36,6 +36,8 @@ #if defined(__i386__) || defined(__amd64__) #include +#include +#include #endif #include #include @@ -160,12 +162,13 @@ acpi_config_intr(device_t dev, ACPI_RESOURCE *res) #if defined(__amd64__) || defined(__i386__) /* - * XXX: Certain BIOSes have buggy AML that specify an IRQ that is - * edge-sensitive and active-lo. However, edge-sensitive IRQs - * should be active-hi. Force IRQs with an ISA IRQ value to be - * active-hi instead. + * XXX: Certain Intel BIOSes have buggy AML that specify an IRQ + * that is edge-sensitive and active-lo. However, edge-sensitive + * IRQs should be active-hi. Force IRQs with an ISA IRQ value to + * be active-hi instead. */ - if (irq < 16 && trig == ACPI_EDGE_SENSITIVE && pol == ACPI_ACTIVE_LOW) + if (irq < 16 && trig == ACPI_EDGE_SENSITIVE && pol == ACPI_ACTIVE_LOW && + cpu_vendor_id == CPU_VENDOR_INTEL) pol = ACPI_ACTIVE_HIGH; #endif BUS_CONFIG_INTR(dev, irq, (trig == ACPI_EDGE_SENSITIVE) ?