ACPICA: Parser: Fix a regression in LoadTable support
authorLv Zheng <lv.zheng@intel.com>
Fri, 23 Sep 2016 03:26:43 +0000 (11:26 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sat, 24 Sep 2016 00:16:53 +0000 (02:16 +0200)
ACPICA commit a78506e0ce8ab1d20db2a055d99cf9143e89eb29

LoadTable allows an alternative RootPathString than the default "\", while
the new table execution support fails to keep this logic.

This regression can be detected by ASLTS - TLT0.tst4, this patch fixes this
regression.

Linux upstream is not affected by this regression as we haven't enabled the
new table execution support there. BZ 1326, Lv Zheng.

Link: https://github.com/acpica/acpica/commit/a78506e0
Link: https://bugs.acpica.org/show_bug.cgi?id=1326
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/psxface.c

index 8d7e5b59b5984858099fb36cadb47526b2572ac5..f3c87264bd1b061824f6683cafc2c5c6fe7ec261 100644 (file)
@@ -305,6 +305,17 @@ acpi_status acpi_ps_execute_table(struct acpi_evaluate_info *info)
                walk_state->parse_flags |= ACPI_PARSE_MODULE_LEVEL;
        }
 
+       /* Info->Node is the default location to load the table  */
+
+       if (info->node && info->node != acpi_gbl_root_node) {
+               status =
+                   acpi_ds_scope_stack_push(info->node, ACPI_TYPE_METHOD,
+                                            walk_state);
+               if (ACPI_FAILURE(status)) {
+                       goto cleanup;
+               }
+       }
+
        /*
         * Parse the AML, walk_state will be deleted by parse_aml
         */