diff options
author | Alexey Starikovskiy <astarikovskiy@suse.de> | 2009-12-30 07:53:03 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-01-15 22:52:48 -0500 |
commit | f5347867c5aea94c625246eaff8f7820b0a4cd8a (patch) | |
tree | ce722a9f7ed2a7b001c19d506d4a3969552f12b7 | |
parent | a62e8f1978f49e52f87a711ff6711b323d4b12ff (diff) |
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>
-rw-r--r-- | drivers/acpi/ec.c | 3 | ||||
-rw-r--r-- | drivers/acpi/sbshc.c | 2 |
2 files changed, 3 insertions, 2 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) | |||
535 | return -ENOMEM; | 535 | return -ENOMEM; |
536 | memcpy(copy, handler, sizeof(*copy)); | 536 | memcpy(copy, handler, sizeof(*copy)); |
537 | pr_debug(PREFIX "push query execution (0x%2x) on queue\n", value); | 537 | pr_debug(PREFIX "push query execution (0x%2x) on queue\n", value); |
538 | return acpi_os_execute(OSL_GPE_HANDLER, | 538 | return acpi_os_execute((copy->func) ? |
539 | OSL_NOTIFY_HANDLER : OSL_GPE_HANDLER, | ||
539 | acpi_ec_run, copy); | 540 | acpi_ec_run, copy); |
540 | } | 541 | } |
541 | } | 542 | } |
diff --git a/drivers/acpi/sbshc.c b/drivers/acpi/sbshc.c index d9339806df45..fd09229282ea 100644 --- a/drivers/acpi/sbshc.c +++ b/drivers/acpi/sbshc.c | |||
@@ -242,7 +242,7 @@ static int smbus_alarm(void *context) | |||
242 | case ACPI_SBS_CHARGER: | 242 | case ACPI_SBS_CHARGER: |
243 | case ACPI_SBS_MANAGER: | 243 | case ACPI_SBS_MANAGER: |
244 | case ACPI_SBS_BATTERY: | 244 | case ACPI_SBS_BATTERY: |
245 | acpi_os_execute(OSL_GPE_HANDLER, | 245 | acpi_os_execute(OSL_NOTIFY_HANDLER, |
246 | acpi_smbus_callback, hc); | 246 | acpi_smbus_callback, hc); |
247 | default:; | 247 | default:; |
248 | } | 248 | } |