diff options
author | Lv Zheng <lv.zheng@intel.com> | 2017-04-26 16:18:33 +0800 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-04-27 00:31:00 +0200 |
commit | 069f9bf454a61d6fafa415dc2a8713938196d650 (patch) | |
tree | 4f2ef4bb631cdf758fc512d2eca120c729ec453c /drivers/acpi/acpica | |
parent | 1f67ef69941e252d5a3558426338a84acce73d89 (diff) | |
download | blackbird-obmc-linux-069f9bf454a61d6fafa415dc2a8713938196d650.tar.gz blackbird-obmc-linux-069f9bf454a61d6fafa415dc2a8713938196d650.zip |
ACPICA: Debugger: Add interpreter blocking mark for single-step mode
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>
Diffstat (limited to 'drivers/acpi/acpica')
-rw-r--r-- | drivers/acpi/acpica/dbxface.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/acpi/acpica/dbxface.c b/drivers/acpi/acpica/dbxface.c index 205b8e0eded5..9b91cea63f46 100644 --- a/drivers/acpi/acpica/dbxface.c +++ b/drivers/acpi/acpica/dbxface.c @@ -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 */ |