ACPICA: Disassembler: prevent external op's from opening a new scope

ACPICA commit c512c2bfcce65b8e8f37d549ac2fa4a1e0182e46

Since Externals could be of ACPI_TYPE_METHOD, there is a possibility
that the acpi_ns_lookup may cause a new scope to be opened. Therefore,
disable opening the scope for all acpi_ns_lookup invocations that deal
with externals.

Link: https://github.com/acpica/acpica/commit/c512c2bf
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Erik Schmauss 2017-06-05 16:41:43 +08:00 committed by Rafael J. Wysocki
parent e6b6ea37b8
commit 2f8c1141da

View File

@ -310,6 +310,16 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
flags |= ACPI_NS_TEMPORARY;
}
}
#ifdef ACPI_ASL_COMPILER
/*
* Do not open a scope. This could be an external method
* and open a scope.
*/
if (walk_state->opcode == AML_EXTERNAL_OP) {
flags |= ACPI_NS_DONT_OPEN_SCOPE;
}
#endif
/* Add new entry or lookup existing entry */