ACPI: Make ACPI interrupt threaded
authorAndi Kleen <andi@firstfloor.org>
Mon, 6 Feb 2012 16:17:09 +0000 (08:17 -0800)
committerLen Brown <len.brown@intel.com>
Fri, 30 Mar 2012 05:41:45 +0000 (01:41 -0400)
Some ACPI interrupt actions may need to wait, and it's easiest to
have a thread context for this. So turn the ACPI interrupt
into a threaded interrupt.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/osl.c

index 412a1e04a9226a84970654c433597455cb53f0ca..02367a8a60e96f3622bdb942b693b6b1f23d3c23 100644 (file)
@@ -595,7 +595,8 @@ acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler,
 
        acpi_irq_handler = handler;
        acpi_irq_context = context;
-       if (request_irq(irq, acpi_irq, IRQF_SHARED, "acpi", acpi_irq)) {
+       if (request_threaded_irq(irq, NULL, acpi_irq, IRQF_SHARED, "acpi",
+                                acpi_irq)) {
                printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation failed\n", irq);
                acpi_irq_handler = NULL;
                return AE_NOT_ACQUIRED;