aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2012-02-06 11:17:09 -0500
committerLen Brown <len.brown@intel.com>2012-03-30 01:41:45 -0400
commit6fe0d0628245fdcd6fad8b837c81e8f7ebc3364d (patch)
tree378308ac35b1bd5522cc75cb0b539f94d3383451 /drivers/acpi
parentd6795fe32da13bde39ea483e42799a22daa730b5 (diff)
ACPI: Make ACPI interrupt threaded
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>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/osl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 412a1e04a922..02367a8a60e9 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -595,7 +595,8 @@ acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler,
595 595
596 acpi_irq_handler = handler; 596 acpi_irq_handler = handler;
597 acpi_irq_context = context; 597 acpi_irq_context = context;
598 if (request_irq(irq, acpi_irq, IRQF_SHARED, "acpi", acpi_irq)) { 598 if (request_threaded_irq(irq, NULL, acpi_irq, IRQF_SHARED, "acpi",
599 acpi_irq)) {
599 printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation failed\n", irq); 600 printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation failed\n", irq);
600 acpi_irq_handler = NULL; 601 acpi_irq_handler = NULL;
601 return AE_NOT_ACQUIRED; 602 return AE_NOT_ACQUIRED;