summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2016-08-04 16:42:42 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-08-13 03:09:31 +0200
commit7fdb5cea9bf288eb6408538fa67f1559f433ab9d (patch)
treeefbf6f6a1ac6af652db7eed53b8ff9a5bd0dda98
parentfee4ab9c0cf223e9f0f2d9d2e5a2f24f6539ccbd (diff)
ACPICA: Interpreter: Remove temporary code for External() opcode
ACPICA commit f2d349f8a11efc0f438ad6903564f3a6755dc6b9 The interpreter should never see this opcode (it is used by disassemblers), so the final implementation is to return an error. Link: https://github.com/acpica/acpica/commit/f2d349f8 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>
-rw-r--r--drivers/acpi/acpica/dsutils.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/acpi/acpica/dsutils.c b/drivers/acpi/acpica/dsutils.c
index f393de9f5887..7d8ef52fb88d 100644
--- a/drivers/acpi/acpica/dsutils.c
+++ b/drivers/acpi/acpica/dsutils.c
@@ -565,15 +565,14 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state,
status = AE_OK;
} else if (parent_op->common.aml_opcode ==
AML_EXTERNAL_OP) {
-
- /* TBD: May only be temporary */
-
- obj_desc =
- acpi_ut_create_string_object((acpi_size)name_length);
-
- strncpy(obj_desc->string.pointer,
- name_string, name_length);
- status = AE_OK;
+ /*
+ * This opcode should never appear here. It is used only
+ * by AML disassemblers and is surrounded by an If(0)
+ * by the ASL compiler.
+ *
+ * Therefore, if we see it here, it is a serious error.
+ */
+ status = AE_AML_BAD_OPCODE;
} else {
/*
* We just plain didn't find it -- which is a