diff options
Diffstat (limited to 'drivers/acpi/parser')
-rw-r--r-- | drivers/acpi/parser/psloop.c | 6 | ||||
-rw-r--r-- | drivers/acpi/parser/psopcode.c | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/acpi/parser/psloop.c b/drivers/acpi/parser/psloop.c index 4348b0530398..a079975f671f 100644 --- a/drivers/acpi/parser/psloop.c +++ b/drivers/acpi/parser/psloop.c | |||
@@ -242,7 +242,8 @@ acpi_ps_build_named_op(struct acpi_walk_state *walk_state, | |||
242 | acpi_ps_append_arg(*op, unnamed_op->common.value.arg); | 242 | acpi_ps_append_arg(*op, unnamed_op->common.value.arg); |
243 | acpi_gbl_depth++; | 243 | acpi_gbl_depth++; |
244 | 244 | ||
245 | if ((*op)->common.aml_opcode == AML_REGION_OP) { | 245 | if ((*op)->common.aml_opcode == AML_REGION_OP || |
246 | (*op)->common.aml_opcode == AML_DATA_REGION_OP) { | ||
246 | /* | 247 | /* |
247 | * Defer final parsing of an operation_region body, because we don't | 248 | * Defer final parsing of an operation_region body, because we don't |
248 | * have enough info in the first pass to parse it correctly (i.e., | 249 | * have enough info in the first pass to parse it correctly (i.e., |
@@ -1013,7 +1014,8 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) | |||
1013 | acpi_gbl_depth--; | 1014 | acpi_gbl_depth--; |
1014 | } | 1015 | } |
1015 | 1016 | ||
1016 | if (op->common.aml_opcode == AML_REGION_OP) { | 1017 | if (op->common.aml_opcode == AML_REGION_OP || |
1018 | op->common.aml_opcode == AML_DATA_REGION_OP) { | ||
1017 | /* | 1019 | /* |
1018 | * Skip parsing of control method or opregion body, | 1020 | * Skip parsing of control method or opregion body, |
1019 | * because we don't have enough info in the first pass | 1021 | * because we don't have enough info in the first pass |
diff --git a/drivers/acpi/parser/psopcode.c b/drivers/acpi/parser/psopcode.c index 153621d0c464..b273a0a127e6 100644 --- a/drivers/acpi/parser/psopcode.c +++ b/drivers/acpi/parser/psopcode.c | |||
@@ -624,9 +624,9 @@ const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES] = { | |||
624 | AML_TYPE_EXEC_6A_0T_1R, AML_FLAGS_EXEC_6A_0T_1R), | 624 | AML_TYPE_EXEC_6A_0T_1R, AML_FLAGS_EXEC_6A_0T_1R), |
625 | /* 7C */ ACPI_OP("DataTableRegion", ARGP_DATA_REGION_OP, | 625 | /* 7C */ ACPI_OP("DataTableRegion", ARGP_DATA_REGION_OP, |
626 | ARGI_DATA_REGION_OP, ACPI_TYPE_REGION, | 626 | ARGI_DATA_REGION_OP, ACPI_TYPE_REGION, |
627 | AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_SIMPLE, | 627 | AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_COMPLEX, |
628 | AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | | 628 | AML_HAS_ARGS | AML_NSOBJECT | AML_NSOPCODE | |
629 | AML_NSNODE | AML_NAMED), | 629 | AML_NSNODE | AML_NAMED | AML_DEFER), |
630 | /* 7D */ ACPI_OP("[EvalSubTree]", ARGP_SCOPE_OP, ARGI_SCOPE_OP, | 630 | /* 7D */ ACPI_OP("[EvalSubTree]", ARGP_SCOPE_OP, ARGI_SCOPE_OP, |
631 | ACPI_TYPE_ANY, AML_CLASS_NAMED_OBJECT, | 631 | ACPI_TYPE_ANY, AML_CLASS_NAMED_OBJECT, |
632 | AML_TYPE_NAMED_NO_OBJ, | 632 | AML_TYPE_NAMED_NO_OBJ, |