|
@@ -730,26 +730,6 @@ acpi_ds_terminate_control_method(union acpi_operand_object *method_desc,
|
|
|
|
|
|
acpi_ds_method_data_delete_all(walk_state);
|
|
acpi_ds_method_data_delete_all(walk_state);
|
|
|
|
|
|
- /*
|
|
|
|
- * If method is serialized, release the mutex and restore the
|
|
|
|
- * current sync level for this thread
|
|
|
|
- */
|
|
|
|
- if (method_desc->method.mutex) {
|
|
|
|
-
|
|
|
|
- /* Acquisition Depth handles recursive calls */
|
|
|
|
-
|
|
|
|
- method_desc->method.mutex->mutex.acquisition_depth--;
|
|
|
|
- if (!method_desc->method.mutex->mutex.acquisition_depth) {
|
|
|
|
- walk_state->thread->current_sync_level =
|
|
|
|
- method_desc->method.mutex->mutex.
|
|
|
|
- original_sync_level;
|
|
|
|
-
|
|
|
|
- acpi_os_release_mutex(method_desc->method.
|
|
|
|
- mutex->mutex.os_mutex);
|
|
|
|
- method_desc->method.mutex->mutex.thread_id = 0;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* Delete any namespace objects created anywhere within the
|
|
* Delete any namespace objects created anywhere within the
|
|
* namespace by the execution of this method. Unless:
|
|
* namespace by the execution of this method. Unless:
|
|
@@ -786,6 +766,26 @@ acpi_ds_terminate_control_method(union acpi_operand_object *method_desc,
|
|
~ACPI_METHOD_MODIFIED_NAMESPACE;
|
|
~ACPI_METHOD_MODIFIED_NAMESPACE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * If method is serialized, release the mutex and restore the
|
|
|
|
+ * current sync level for this thread
|
|
|
|
+ */
|
|
|
|
+ if (method_desc->method.mutex) {
|
|
|
|
+
|
|
|
|
+ /* Acquisition Depth handles recursive calls */
|
|
|
|
+
|
|
|
|
+ method_desc->method.mutex->mutex.acquisition_depth--;
|
|
|
|
+ if (!method_desc->method.mutex->mutex.acquisition_depth) {
|
|
|
|
+ walk_state->thread->current_sync_level =
|
|
|
|
+ method_desc->method.mutex->mutex.
|
|
|
|
+ original_sync_level;
|
|
|
|
+
|
|
|
|
+ acpi_os_release_mutex(method_desc->method.
|
|
|
|
+ mutex->mutex.os_mutex);
|
|
|
|
+ method_desc->method.mutex->mutex.thread_id = 0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/* Decrement the thread count on the method */
|
|
/* Decrement the thread count on the method */
|