aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/executer/exmutex.c
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2007-02-02 11:48:21 -0500
committerLen Brown <len.brown@intel.com>2007-02-02 21:14:26 -0500
commitf70a5e7b6c28e0b08f721204f4b98c5d1cfb44d9 (patch)
treede514a441fdc075ae2f89ca8ecc014481459a333 /drivers/acpi/executer/exmutex.c
parent310a7f7fee489b7dadd27b0d8487bd0ce66281e7 (diff)
ACPICA: On AML mutex force-release, set depth to zero (was 1).
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/executer/exmutex.c')
-rw-r--r--drivers/acpi/executer/exmutex.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/acpi/executer/exmutex.c b/drivers/acpi/executer/exmutex.c
index f1dd1b07d482..b0be2f46d249 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,
329 * 329 *
330 * DESCRIPTION: Release all mutexes held by this thread 330 * DESCRIPTION: Release all mutexes held by this thread
331 * 331 *
332 * NOTE: This function is called as the thread is exiting the interpreter.
333 * Mutexes are not released when an individual control method is exited, but
334 * only when the parent thread actually exits the interpreter. This allows one
335 * method to acquire a mutex, and a different method to release it, as long as
336 * this is performed underneath a single parent control method.
337 *
332 ******************************************************************************/ 338 ******************************************************************************/
333 339
334void acpi_ex_release_all_mutexes(struct acpi_thread_state *thread) 340void 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)
346 352
347 obj_desc->mutex.prev = NULL; 353 obj_desc->mutex.prev = NULL;
348 obj_desc->mutex.next = NULL; 354 obj_desc->mutex.next = NULL;
349 obj_desc->mutex.acquisition_depth = 1; 355 obj_desc->mutex.acquisition_depth = 0;
350 356
351 /* Release the mutex, special case for Global Lock */ 357 /* Release the mutex, special case for Global Lock */
352 358