aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/events/evmisc.c
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2007-05-09 22:59:38 -0400
committerLen Brown <len.brown@intel.com>2007-05-09 22:59:38 -0400
commit40d07080e585396dc58bc64befa1de0695318b3b (patch)
tree41a32892efab0b10801cd61a37a9ec707f9044fd /drivers/acpi/events/evmisc.c
parent4d2acd9ea539e0f59178b126f6750ccc41eefcdd (diff)
Revert "Execute AML Notify() requests on stack."
This reverts commit 5f7748cf91558a5026ded5be93c5bf6c1ac34edf. While that change fixed the HP http://bugzilla.kernel.org/show_bug.cgi?id=5534 it broke the ACER: http://bugzilla.kernel.org/show_bug.cgi?id=8385 which as AML that caused Linux go recursive and stack fault. So this commit by itself will restore the ACER and again break the HP, which we'll fix another way. Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/events/evmisc.c')
-rw-r--r--drivers/acpi/events/evmisc.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/acpi/events/evmisc.c b/drivers/acpi/events/evmisc.c
index 3a799b9b5df5..ad447b1d97a3 100644
--- a/drivers/acpi/events/evmisc.c
+++ b/drivers/acpi/events/evmisc.c
@@ -196,11 +196,12 @@ acpi_ev_queue_notify_request(struct acpi_namespace_node * node,
196 notify_info->notify.value = (u16) notify_value; 196 notify_info->notify.value = (u16) notify_value;
197 notify_info->notify.handler_obj = handler_obj; 197 notify_info->notify.handler_obj = handler_obj;
198 198
199 acpi_ex_relinquish_interpreter(); 199 status =
200 200 acpi_os_execute(OSL_NOTIFY_HANDLER, acpi_ev_notify_dispatch,
201 acpi_ev_notify_dispatch(notify_info); 201 notify_info);
202 202 if (ACPI_FAILURE(status)) {
203 acpi_ex_reacquire_interpreter(); 203 acpi_ut_delete_generic_state(notify_info);
204 }
204 } 205 }
205 206
206 if (!handler_obj) { 207 if (!handler_obj) {