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 | } |
