diff options
author | Lv Zheng <lv.zheng@intel.com> | 2015-10-19 10:25:42 +0800 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-10-22 02:05:05 +0200 |
commit | 086ab742ac97b45ee64507b32b3d1ecbdbc56b39 (patch) | |
tree | ee5fec88e0766e3452f6b21ca20c2c0cfc0a26a4 /drivers/acpi/acpica/dbinput.c | |
parent | af08f9cc5073eee875016d28730c99ec86da4198 (diff) | |
download | kernel_replicant_linux-086ab742ac97b45ee64507b32b3d1ecbdbc56b39.tar.gz kernel_replicant_linux-086ab742ac97b45ee64507b32b3d1ecbdbc56b39.tar.bz2 kernel_replicant_linux-086ab742ac97b45ee64507b32b3d1ecbdbc56b39.zip |
ACPICA: Debugger: Fix "terminate" command by cleaning up subsystem shutdown logic
ACPICA commit 7e823714911480be47e310fb1b3590d289b9fd99
Segmentation fault can be seen for executing the "terminate" command. This
is because acpi_ut_subsystem_shutdown() is errnously called multiple times.
This patch cleans up acpi_ut_subsystem_shutdown() logics to fix this
issue. Lv Zheng.
Link: https://github.com/acpica/acpica/commit/7e823714
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/acpica/dbinput.c')
-rw-r--r-- | drivers/acpi/acpica/dbinput.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/dbinput.c b/drivers/acpi/acpica/dbinput.c index f8cddd682af2..0480254437f1 100644 --- a/drivers/acpi/acpica/dbinput.c +++ b/drivers/acpi/acpica/dbinput.c @@ -1074,6 +1074,7 @@ acpi_db_command_dispatch(char *input_buffer, * re-creating the semaphores! */ + acpi_gbl_db_terminate_loop = TRUE; /* acpi_initialize (NULL); */ break; @@ -1151,7 +1152,7 @@ void ACPI_SYSTEM_XFACE acpi_db_execute_thread(void *context) acpi_status status = AE_OK; acpi_status Mstatus; - while (status != AE_CTRL_TERMINATE) { + while (status != AE_CTRL_TERMINATE && !acpi_gbl_db_terminate_loop) { acpi_gbl_method_executing = FALSE; acpi_gbl_step_to_next_call = FALSE; |