diff options
author | Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> | 2006-05-05 09:23:00 +0200 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-06-14 08:43:23 +0200 |
commit | b8d35192c55fb055792ff0641408eaaec7c88988 (patch) | |
tree | 87272903bda56a4ddedcc513d35a74f072ab1f5d /drivers/acpi/ec.c | |
parent | ACPI: ACPICA 20060512 (diff) | |
download | linux-b8d35192c55fb055792ff0641408eaaec7c88988.tar.xz linux-b8d35192c55fb055792ff0641408eaaec7c88988.zip |
ACPI: execute Notify() handlers on new thread
http://bugzilla.kernel.org/show_bug.cgi?id=5534
Thanks to Peter Wainwright for isolating the issue.
Thanks to Andi Kleen and Bob Moore for feedback.
Thanks to Richard Mace and others for testing.
Updates by Konstantin Karasyov.
Signed-off-by: Konstantin Karasyov <konstantin.a.karasyov@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r-- | drivers/acpi/ec.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 79b09d76c180..1e3222762bf3 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -763,8 +763,7 @@ static u32 acpi_ec_gpe_poll_handler(void *data) acpi_disable_gpe(NULL, ec->common.gpe_bit, ACPI_ISR); - status = acpi_os_queue_for_execution(OSD_PRIORITY_GPE, - acpi_ec_gpe_query, ec); + status = acpi_os_execute(OSL_EC_POLL_HANDLER, acpi_ec_gpe_query, ec); if (status == AE_OK) return ACPI_INTERRUPT_HANDLED; @@ -799,7 +798,7 @@ static u32 acpi_ec_gpe_intr_handler(void *data) if (value & ACPI_EC_FLAG_SCI) { atomic_add(1, &ec->intr.pending_gpe); - status = acpi_os_queue_for_execution(OSD_PRIORITY_GPE, + status = acpi_os_execute(OSL_EC_BURST_HANDLER, acpi_ec_gpe_query, ec); return status == AE_OK ? ACPI_INTERRUPT_HANDLED : ACPI_INTERRUPT_NOT_HANDLED; |