From: Bob Moore Date: Fri, 2 Feb 2007 16:48:21 +0000 (+0300) Subject: ACPICA: On AML mutex force-release, set depth to zero (was 1). X-Git-Tag: v2.6.21-rc1~92^2~32^2^2~9^2~45 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f70a5e7b6c28e0b08f721204f4b98c5d1cfb44d9;p=linux-2.6 ACPICA: On AML mutex force-release, set depth to zero (was 1). Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown --- diff --git a/drivers/acpi/executer/exmutex.c b/drivers/acpi/executer/exmutex.c index f1dd1b07d4..b0be2f46d2 100644 --- a/drivers/acpi/executer/exmutex.c +++ b/drivers/acpi/executer/exmutex.c @@ -329,6 +329,12 @@ acpi_ex_release_mutex(union acpi_operand_object *obj_desc, * * DESCRIPTION: Release all mutexes held by this thread * + * NOTE: This function is called as the thread is exiting the interpreter. + * Mutexes are not released when an individual control method is exited, but + * only when the parent thread actually exits the interpreter. This allows one + * method to acquire a mutex, and a different method to release it, as long as + * this is performed underneath a single parent control method. + * ******************************************************************************/ void acpi_ex_release_all_mutexes(struct acpi_thread_state *thread) @@ -346,7 +352,7 @@ void acpi_ex_release_all_mutexes(struct acpi_thread_state *thread) obj_desc->mutex.prev = NULL; obj_desc->mutex.next = NULL; - obj_desc->mutex.acquisition_depth = 1; + obj_desc->mutex.acquisition_depth = 0; /* Release the mutex, special case for Global Lock */