summaryrefslogtreecommitdiff
path: root/drivers/acpi/acpica/dbinput.c
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2015-10-19 05:25:42 +0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-10-22 03:05:05 +0300
commit086ab742ac97b45ee64507b32b3d1ecbdbc56b39 (patch)
treeee5fec88e0766e3452f6b21ca20c2c0cfc0a26a4 /drivers/acpi/acpica/dbinput.c
parentaf08f9cc5073eee875016d28730c99ec86da4198 (diff)
downloadlinux-086ab742ac97b45ee64507b32b3d1ecbdbc56b39.tar.xz
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.c3
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;