ACPICA: Revert "iASL: change processing of external op namespace nodes for correctness"
authorErik Schmauss <erik.schmauss@intel.com>
Fri, 29 Jun 2018 18:28:11 +0000 (11:28 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 9 Jul 2018 09:14:45 +0000 (11:14 +0200)
Revert commit b43eac6f3384 (ACPICA: iASL: change processing of
external op namespace nodes for correctness; upstream ACPICA
commit aa866a9b4f24bbec9f158d10325b486d7d12d90f).

This was done in order to allow more relaxed usage of ASL external
declarations.

Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/nsaccess.c
drivers/acpi/acpica/nssearch.c

index 220a718fbce986cafb8a31ec3d0565e72cf48d97..3c571fe98990ca2d0576f81b7dfa916fc8b6558b 100644 (file)
@@ -608,18 +608,17 @@ acpi_ns_lookup(union acpi_generic_state *scope_info,
                                            this_node->object;
                                }
                        }
+#ifdef ACPI_ASL_COMPILER
+                       if (!acpi_gbl_disasm_flag &&
+                           (this_node->flags & ANOBJ_IS_EXTERNAL)) {
+                               this_node->flags |= IMPLICIT_EXTERNAL;
+                       }
+#endif
                }
 
                /* Special handling for the last segment (num_segments == 0) */
 
                else {
-#ifdef ACPI_ASL_COMPILER
-                       if (!acpi_gbl_disasm_flag
-                           && (this_node->flags & ANOBJ_IS_EXTERNAL)) {
-                               this_node->flags &= ~IMPLICIT_EXTERNAL;
-                       }
-#endif
-
                        /*
                         * Sanity typecheck of the target object:
                         *
index e9c9a63bb6a4f4218f417ab28489895c7067990d..f594ab75a5fe72cfd2be8b392dcb108edb243ad8 100644 (file)
@@ -381,7 +381,6 @@ acpi_ns_search_and_enter(u32 target_name,
        if (flags & ACPI_NS_EXTERNAL ||
            (walk_state && walk_state->opcode == AML_SCOPE_OP)) {
                new_node->flags |= ANOBJ_IS_EXTERNAL;
-               new_node->flags |= IMPLICIT_EXTERNAL;
        }
 #endif