summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/ec.c
diff options
context:
space:
mode:
authorAlexey Starikovskiy <astarikovskiy@suse.de>2009-12-30 13:53:03 +0100
committerLen Brown <len.brown@intel.com>2010-01-16 04:52:48 +0100
commitf5347867c5aea94c625246eaff8f7820b0a4cd8a (patch)
treece722a9f7ed2a7b001c19d506d4a3969552f12b7 /drivers/acpi/ec.c
parentACPI: EC: Accelerate query execution (diff)
downloadlinux-f5347867c5aea94c625246eaff8f7820b0a4cd8a.tar.xz
linux-f5347867c5aea94c625246eaff8f7820b0a4cd8a.zip
ACPI: SBS: Move SBS HC callback to faster Notify queue
SBS transactions should happen in Notify work queue, to not create a dead lock with GPE execution accessing SBS devices. Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r--drivers/acpi/ec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 9cc38857c33b..047330929821 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -535,7 +535,8 @@ static int acpi_ec_sync_query(struct acpi_ec *ec)
return -ENOMEM;
memcpy(copy, handler, sizeof(*copy));
pr_debug(PREFIX "push query execution (0x%2x) on queue\n", value);
- return acpi_os_execute(OSL_GPE_HANDLER,
+ return acpi_os_execute((copy->func) ?
+ OSL_NOTIFY_HANDLER : OSL_GPE_HANDLER,
acpi_ec_run, copy);
}
}