OSDN Git Service

ACPICA: Debugger: Add interpreter blocking mark for single-step mode
authorLv Zheng <lv.zheng@intel.com>
Wed, 26 Apr 2017 08:18:33 +0000 (16:18 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 26 Apr 2017 22:31:00 +0000 (00:31 +0200)
ACPICA commit 91af5d18cd40b35f9d5568fb95fc403ff12474e5

When the single-step mode is used, evaluation is actually split by the
single-step command prompts, so this patch correctly marks the evaluation
segment with interpreter lock release/acquire.
This in return fixes an issue that in the single-step command prompt,
commands requiring to hold the namespace lock (ex. namespace) cannot be
executed. ACPICA BZ 1362, fixed by Lv Zheng.

Link: https://github.com/acpica/acpica/commit/91af5d18
Link: https://bugs.acpica.org/show_bug.cgi?id=1362
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>
drivers/acpi/acpica/dbxface.c

index 205b8e0..9b91cea 100644 (file)
@@ -45,6 +45,7 @@
 #include "accommon.h"
 #include "amlcode.h"
 #include "acdebug.h"
+#include "acinterp.h"
 
 #define _COMPONENT          ACPI_CA_DEBUGGER
 ACPI_MODULE_NAME("dbxface")
@@ -368,7 +369,9 @@ acpi_db_single_step(struct acpi_walk_state *walk_state,
                walk_state->method_breakpoint = 1;      /* Must be non-zero! */
        }
 
+       acpi_ex_exit_interpreter();
        status = acpi_db_start_command(walk_state, op);
+       acpi_ex_enter_interpreter();
 
        /* User commands complete, continue execution of the interrupted method */