diff options
| author | Bob Moore <robert.moore@intel.com> | 2008-04-10 11:06:41 -0400 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2008-04-22 14:29:28 -0400 |
| commit | 57345ee6b807d32e5eecf724a463378b80cc261c (patch) | |
| tree | 4f54f5748cd37d21f38f1ae9c8a52bccfc06f216 /drivers/acpi | |
| parent | 941f48bb465b0b291f8435b1e3de95b0975b84bc (diff) | |
ACPICA: Undo accidental checkin of not-fully-tested mutex changes
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
| -rw-r--r-- | drivers/acpi/executer/exmutex.c | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/drivers/acpi/executer/exmutex.c b/drivers/acpi/executer/exmutex.c index 7c70938eef89..b8d035c00b61 100644 --- a/drivers/acpi/executer/exmutex.c +++ b/drivers/acpi/executer/exmutex.c | |||
| @@ -85,7 +85,6 @@ void acpi_ex_unlink_mutex(union acpi_operand_object *obj_desc) | |||
| 85 | } else { | 85 | } else { |
| 86 | thread->acquired_mutex_list = obj_desc->mutex.next; | 86 | thread->acquired_mutex_list = obj_desc->mutex.next; |
| 87 | } | 87 | } |
| 88 | return; | ||
| 89 | } | 88 | } |
| 90 | 89 | ||
| 91 | /******************************************************************************* | 90 | /******************************************************************************* |
| @@ -299,17 +298,6 @@ acpi_status acpi_ex_release_mutex_object(union acpi_operand_object *obj_desc) | |||
| 299 | return (AE_NOT_ACQUIRED); | 298 | return (AE_NOT_ACQUIRED); |
| 300 | } | 299 | } |
| 301 | 300 | ||
| 302 | /* No obj_desc->Mutex.owner_thread for Global Lock */ | ||
| 303 | |||
| 304 | /* | ||
| 305 | * Mutex to be released must be at the head of acquired list to prevent | ||
| 306 | * deadlock. (The head of the list is the last mutex acquired.) | ||
| 307 | */ | ||
| 308 | if (obj_desc->mutex.owner_thread && | ||
| 309 | (obj_desc != obj_desc->mutex.owner_thread->acquired_mutex_list)) { | ||
| 310 | return (AE_AML_MUTEX_ORDER); | ||
| 311 | } | ||
| 312 | |||
| 313 | /* Match multiple Acquires with multiple Releases */ | 301 | /* Match multiple Acquires with multiple Releases */ |
| 314 | 302 | ||
| 315 | obj_desc->mutex.acquisition_depth--; | 303 | obj_desc->mutex.acquisition_depth--; |
| @@ -415,9 +403,6 @@ acpi_ex_release_mutex(union acpi_operand_object *obj_desc, | |||
| 415 | } | 403 | } |
| 416 | 404 | ||
| 417 | status = acpi_ex_release_mutex_object(obj_desc); | 405 | status = acpi_ex_release_mutex_object(obj_desc); |
| 418 | if (ACPI_FAILURE(status)) { | ||
| 419 | return_ACPI_STATUS(status); | ||
| 420 | } | ||
| 421 | 406 | ||
| 422 | if (obj_desc->mutex.acquisition_depth == 0) { | 407 | if (obj_desc->mutex.acquisition_depth == 0) { |
| 423 | 408 | ||
| @@ -426,7 +411,6 @@ acpi_ex_release_mutex(union acpi_operand_object *obj_desc, | |||
| 426 | walk_state->thread->current_sync_level = | 411 | walk_state->thread->current_sync_level = |
| 427 | obj_desc->mutex.original_sync_level; | 412 | obj_desc->mutex.original_sync_level; |
| 428 | } | 413 | } |
| 429 | |||
| 430 | return_ACPI_STATUS(status); | 414 | return_ACPI_STATUS(status); |
| 431 | } | 415 | } |
| 432 | 416 | ||
