summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/osl.c
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2012-02-06 17:17:09 +0100
committerLen Brown <len.brown@intel.com>2012-03-30 07:41:45 +0200
commit6fe0d0628245fdcd6fad8b837c81e8f7ebc3364d (patch)
tree378308ac35b1bd5522cc75cb0b539f94d3383451 /drivers/acpi/osl.c
parentACPI: ec: Do request_region outside WARN() (diff)
downloadlinux-6fe0d0628245fdcd6fad8b837c81e8f7ebc3364d.tar.xz
linux-6fe0d0628245fdcd6fad8b837c81e8f7ebc3364d.zip
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/osl.c')
-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,
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;