ACPICA: fix AML mutex re-entrancy
authorAlexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
Thu, 15 Feb 2007 21:12:23 +0000 (16:12 -0500)
committerLen Brown <len.brown@intel.com>
Thu, 15 Feb 2007 21:13:16 +0000 (16:13 -0500)
commitc0d127b56937c3e72c2b1819161d2f6718eee877
tree40ac0fd3a628685ce25d11d1b00360344279ec5b
parent724339d76d9407cd1a8ad32a9c1fdf64840cc51b
ACPICA: fix AML mutex re-entrancy

ACPI AML supports "serialized" methods which are protected
by an implicit mutex.  The mutex is re-entrant for that AML thread
to allow recursion.

However, Linux implements notify() by creating a new AML thread.
So for systems where notify() re-enters a serialized method,
deadlock results.

The fix is to use the Linux thread_id as the key to allowing
re-entrancy, not the AML thread pointer.

http://bugzilla.kernel.org/show_bug.cgi?id=5534

Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/dispatcher/dsmethod.c
drivers/acpi/executer/exdump.c
drivers/acpi/executer/exmutex.c
drivers/acpi/utilities/utdelete.c
include/acpi/acinterp.h
include/acpi/acobject.h