]> err.no Git - linux-2.6/commitdiff
Revert "Execute AML Notify() requests on stack."
authorLen Brown <len.brown@intel.com>
Thu, 10 May 2007 02:59:38 +0000 (22:59 -0400)
committerLen Brown <len.brown@intel.com>
Thu, 10 May 2007 02:59:38 +0000 (22:59 -0400)
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>
drivers/acpi/events/evmisc.c

index 3a799b9b5df572da85d5bba7573bd798f1b0a9d0..ad447b1d97a3da52e7684def67d91a724ff3f2f2 100644 (file)
@@ -196,11 +196,12 @@ acpi_ev_queue_notify_request(struct acpi_namespace_node * node,
                notify_info->notify.value = (u16) notify_value;
                notify_info->notify.handler_obj = handler_obj;
 
-               acpi_ex_relinquish_interpreter();
-
-               acpi_ev_notify_dispatch(notify_info);
-
-               acpi_ex_reacquire_interpreter();
+               status =
+                   acpi_os_execute(OSL_NOTIFY_HANDLER, acpi_ev_notify_dispatch,
+                                   notify_info);
+               if (ACPI_FAILURE(status)) {
+                       acpi_ut_delete_generic_state(notify_info);
+               }
        }
 
        if (!handler_obj) {