[PATCH 1/2] ACPICA: Update to version 20180629

Colin King colin.king at canonical.com
Fri Jun 29 16:11:27 UTC 2018


From: Colin Ian King <colin.king at canonical.com>

changes in this release of ACPICA are detailed at the following
link on the ACPICA developer mailing list:

https://lists.acpica.org/pipermail/devel/2018-June/001810.html

Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
 src/acpica/source/common/dmextern.c           |  2 +-
 src/acpica/source/compiler/aslglobal.h        |  7 +-
 src/acpica/source/compiler/aslhelpers.y       | 32 ++++++++
 src/acpica/source/compiler/aslload.c          | 79 +------------------
 src/acpica/source/compiler/aslmain.c          | 15 +---
 src/acpica/source/compiler/aslmessages.c      |  3 +-
 src/acpica/source/compiler/aslmessages.h      |  1 +
 src/acpica/source/compiler/aslparser.y        |  2 +-
 src/acpica/source/compiler/aslprimaries.y     | 28 +++----
 src/acpica/source/compiler/asltransform.c     |  5 ++
 src/acpica/source/compiler/asltypes.y         |  4 +
 .../source/components/hardware/hwxfsleep.c    | 12 +--
 .../source/components/namespace/nsaccess.c    |  7 --
 .../source/components/namespace/nseval.c      |  4 +-
 .../source/components/namespace/nssearch.c    |  1 -
 src/acpica/source/include/aclocal.h           |  1 -
 src/acpica/source/include/acpixf.h            |  2 +-
 17 files changed, 80 insertions(+), 125 deletions(-)

diff --git a/src/acpica/source/common/dmextern.c b/src/acpica/source/common/dmextern.c
index 8aab4807..df0e1b97 100644
--- a/src/acpica/source/common/dmextern.c
+++ b/src/acpica/source/common/dmextern.c
@@ -538,7 +538,7 @@ AcpiDmGetExternalsFromFile (
 
     /* Each line defines a method */
 
-    while (fgets (StringBuffer, ASL_MSG_BUFFER_SIZE, ExternalRefFile))
+    while (fgets (StringBuffer, ASL_STRING_BUFFER_SIZE, ExternalRefFile))
     {
         Token = strtok (StringBuffer, METHOD_SEPARATORS);   /* "External" */
         if (!Token)
diff --git a/src/acpica/source/compiler/aslglobal.h b/src/acpica/source/compiler/aslglobal.h
index 93c51fae..e22f476f 100644
--- a/src/acpica/source/compiler/aslglobal.h
+++ b/src/acpica/source/compiler/aslglobal.h
@@ -251,7 +251,8 @@ extern int                  AslCompilerdebug;
 
 
 #define ASL_DEFAULT_LINE_BUFFER_SIZE    (1024 * 32) /* 32K */
-#define ASL_MSG_BUFFER_SIZE             (1024 * 32) /* 32k */
+#define ASL_MSG_BUFFER_SIZE             (1024 * 128) /* 128k */
+#define ASL_STRING_BUFFER_SIZE          (1024 * 32) /* 32k */
 #define ASL_MAX_DISABLED_MESSAGES       32
 #define ASL_MAX_EXPECTED_MESSAGES       32
 #define HEX_TABLE_LINE_SIZE             8
@@ -438,8 +439,8 @@ ASL_EXTERN UINT8                    AslGbl_NamespaceEvent;
 
 ASL_EXTERN UINT8                    Gbl_AmlBuffer[HEX_LISTING_LINE_SIZE];
 ASL_EXTERN char                     MsgBuffer[ASL_MSG_BUFFER_SIZE];
-ASL_EXTERN char                     StringBuffer[ASL_MSG_BUFFER_SIZE];
-ASL_EXTERN char                     StringBuffer2[ASL_MSG_BUFFER_SIZE];
+ASL_EXTERN char                     StringBuffer[ASL_STRING_BUFFER_SIZE];
+ASL_EXTERN char                     StringBuffer2[ASL_STRING_BUFFER_SIZE];
 ASL_EXTERN UINT32                   Gbl_DisabledMessages[ASL_MAX_DISABLED_MESSAGES];
 ASL_EXTERN ASL_EXPECTED_MESSAGE     Gbl_ExpectedMessages[ASL_MAX_EXPECTED_MESSAGES];
 
diff --git a/src/acpica/source/compiler/aslhelpers.y b/src/acpica/source/compiler/aslhelpers.y
index bb9ff625..3a680a81 100644
--- a/src/acpica/source/compiler/aslhelpers.y
+++ b/src/acpica/source/compiler/aslhelpers.y
@@ -183,6 +183,14 @@ OptionalAccessSize
     | ',' ByteConstExpr             {$$ = $2;}
     ;
 
+OptionalAccessTypeKeyword   /* Default: AnyAcc */
+    :                               {$$ = TrCreateLeafOp (
+                                        PARSEOP_ACCESSTYPE_ANY);}
+    | ','                           {$$ = TrCreateLeafOp (
+                                        PARSEOP_ACCESSTYPE_ANY);}
+    | ',' AccessTypeKeyword         {$$ = $2;}
+    ;
+
 OptionalAddressingMode
     : ','                           {$$ = NULL;}
     | ',' AddressingModeKeyword     {$$ = $2;}
@@ -252,6 +260,14 @@ OptionalListString
     | ',' TermArg                   {$$ = $2;}
     ;
 
+OptionalLockRuleKeyword     /* Default: NoLock */
+    :                               {$$ = TrCreateLeafOp (
+                                        PARSEOP_LOCKRULE_NOLOCK);}
+    | ','                           {$$ = TrCreateLeafOp (
+                                        PARSEOP_LOCKRULE_NOLOCK);}
+    | ',' LockRuleKeyword           {$$ = $2;}
+    ;
+
 OptionalMaxType
     : ','                           {$$ = NULL;}
     | ',' MaxKeyword                {$$ = $2;}
@@ -366,6 +382,14 @@ OptionalStringData
     | ',' StringData                {$$ = $2;}
     ;
 
+OptionalSyncLevel           /* Default: 0 */
+    :                               {$$ = TrCreateValuedLeafOp (
+                                        PARSEOP_BYTECONST, 0);}
+    | ','                           {$$ = TrCreateValuedLeafOp (
+                                        PARSEOP_BYTECONST, 0);}
+    | ',' ByteConstExpr             {$$ = $2;}
+    ;
+
 OptionalTranslationType_Last
     :                               {$$ = NULL;}
     | ','                           {$$ = NULL;}
@@ -384,6 +408,14 @@ OptionalType_Last
     | ',' TypeKeyword               {$$ = $2;}
     ;
 
+OptionalUpdateRuleKeyword   /* Default: Preserve */
+    :                               {$$ = TrCreateLeafOp (
+                                        PARSEOP_UPDATERULE_PRESERVE);}
+    | ','                           {$$ = TrCreateLeafOp (
+                                        PARSEOP_UPDATERULE_PRESERVE);}
+    | ',' UpdateRuleKeyword         {$$ = $2;}
+    ;
+
 OptionalWireMode
     : ','                           {$$ = NULL;}
     | ',' WireModeKeyword           {$$ = $2;}
diff --git a/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c
index a57ba5e0..95fea9cd 100644
--- a/src/acpica/source/compiler/aslload.c
+++ b/src/acpica/source/compiler/aslload.c
@@ -321,8 +321,7 @@ LdLoadFieldElements (
                     return (Status);
                 }
                 else if (Status == AE_ALREADY_EXISTS &&
-                    (Node->Flags & ANOBJ_IS_EXTERNAL) &&
-                    Node->OwnerId != WalkState->OwnerId)
+                    (Node->Flags & ANOBJ_IS_EXTERNAL))
                 {
                     Node->Type = (UINT8) ACPI_TYPE_LOCAL_REGION_FIELD;
                 }
@@ -474,7 +473,6 @@ LdNamespace1Begin (
     ACPI_PARSE_OBJECT       *Arg;
     UINT32                  i;
     BOOLEAN                 ForceNewScope = FALSE;
-    ACPI_OWNER_ID           OwnerId = 0;
     const ACPI_OPCODE_INFO  *OpInfo;
     ACPI_PARSE_OBJECT       *ParentOp;
 
@@ -485,23 +483,6 @@ LdNamespace1Begin (
     ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, "Op %p [%s]\n",
         Op, Op->Asl.ParseOpName));
 
-    if (Op->Asl.ParseOpcode == PARSEOP_DEFINITION_BLOCK)
-    {
-        /*
-         * Allocate an OwnerId for this block. This helps identify the owners
-         * of each namespace node. This is used in determining whether if
-         * certain external declarations cause redefinition errors.
-         */
-        Status = AcpiUtAllocateOwnerId (&OwnerId);
-        WalkState->OwnerId = OwnerId;
-        if (ACPI_FAILURE (Status))
-        {
-            AslCoreSubsystemError (Op, Status,
-                "Failure to allocate owner ID to this definition block.", FALSE);
-            return_ACPI_STATUS (Status);
-        }
-    }
-
     /*
      * We are only interested in opcodes that have an associated name
      * (or multiple names)
@@ -877,9 +858,7 @@ LdNamespace1Begin (
             {
                 /*
                  * Allow one create on an object or segment that was
-                 * previously declared External only if WalkState->OwnerId and
-                 * Node->OwnerId are different (meaning that the current WalkState
-                 * and the Node are in different tables).
+                 * previously declared External
                  */
                 Node->Flags &= ~ANOBJ_IS_EXTERNAL;
                 Node->Type = (UINT8) ObjectType;
@@ -896,18 +875,6 @@ LdNamespace1Begin (
                 }
 
                 Status = AE_OK;
-
-                if (Node->OwnerId == WalkState->OwnerId &&
-                    !(Node->Flags & IMPLICIT_EXTERNAL))
-                {
-                    AslDualParseOpError (ASL_WARNING, ASL_MSG_EXTERN_COLLISION, Op,
-                        Op->Asl.ExternalName, ASL_MSG_EXTERN_FOUND_HERE, Node->Op,
-                        Node->Op->Asl.ExternalName);
-                }
-                if (Node->Flags & IMPLICIT_EXTERNAL)
-                {
-                    Node->Flags &= ~IMPLICIT_EXTERNAL;
-                }
             }
             else if (!(Node->Flags & ANOBJ_IS_EXTERNAL) &&
                      (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL))
@@ -915,53 +882,15 @@ LdNamespace1Begin (
                 /*
                  * Allow externals in same scope as the definition of the
                  * actual object. Similar to C. Allows multiple definition
-                 * blocks that refer to each other in the same file. However,
-                 * do not allow name declaration and an external declaration
-                 * within the same table. This is considered a re-declaration.
+                 * blocks that refer to each other in the same file.
                  */
                 Status = AE_OK;
-
-                if (Node->OwnerId == WalkState->OwnerId)
-                {
-                    AslDualParseOpError (ASL_WARNING, ASL_MSG_EXTERN_COLLISION, Op,
-                        Op->Asl.ExternalName, ASL_MSG_EXTERN_FOUND_HERE, Node->Op,
-                        Node->Op->Asl.ExternalName);
-                }
             }
             else if ((Node->Flags & ANOBJ_IS_EXTERNAL) &&
                      (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) &&
                      (ObjectType == ACPI_TYPE_ANY))
             {
-                /*
-                 * Allow update of externals of unknown type.
-                 * In the case that multiple definition blocks are being
-                 * parsed, updating the OwnerId allows enables subsequent calls
-                 * of this method to understand which table the most recent
-                 * external declaration was seen. Without this OwnerId update,
-                 * code like the following is allowed to compile:
-                 *
-                 * DefinitionBlock("externtest.aml", "DSDT", 0x02, "Intel", "Many", 0x00000001)
-                 * {
-                 *     External(ERRS,methodobj)
-                 *     Method (MAIN)
-                 *     {
-                 *         Name(NUM2, 0)
-                 *         ERRS(1,2,3)
-                 *     }
-                 * }
-                 *
-                 * DefinitionBlock("externtest.aml", "SSDT", 0x02, "Intel", "Many", 0x00000001)
-                 * {
-                 *     if (0)
-                 *     {
-                 *         External(ERRS,methodobj)
-                 *     }
-                 *     Method (ERRS,3)
-                 *     {}
-                 *
-                 * }
-                 */
-                Node->OwnerId = WalkState->OwnerId;
+                /* Allow update of externals of unknown type. */
 
                 if (AcpiNsOpensScope (ActualObjectType))
                 {
diff --git a/src/acpica/source/compiler/aslmain.c b/src/acpica/source/compiler/aslmain.c
index 6827d1e6..227e6f31 100644
--- a/src/acpica/source/compiler/aslmain.c
+++ b/src/acpica/source/compiler/aslmain.c
@@ -208,7 +208,6 @@ main (
 
 
     signal (SIGINT, AslSignalHandler);
-    signal (SIGSEGV, AslSignalHandler);
 
     /*
      * Big-endian machines are not currently supported. ACPI tables must
@@ -306,8 +305,7 @@ CleanupAndExit:
  *
  * DESCRIPTION: Signal interrupt handler. Delete any intermediate files and
  *              any output files that may be left in an indeterminate state.
- *              Currently handles SIGINT (control-c) and SIGSEGV (segmentation
- *              fault).
+ *              Currently handles SIGINT (control-c).
  *
  *****************************************************************************/
 
@@ -329,17 +327,10 @@ AslSignalHandler (
         printf ("\n" ASL_PREFIX "<Control-C>\n");
         break;
 
-    case SIGSEGV:
-
-        /* Even on a seg fault, we will try to delete any partial files */
-
-        printf (ASL_PREFIX "Segmentation Fault\n");
-        break;
-
     default:
 
-        printf (ASL_PREFIX "Unknown interrupt signal (%u), ignoring\n", Sig);
-        return;
+        printf (ASL_PREFIX "Unknown interrupt signal (%u)\n", Sig);
+        break;
     }
 
     /*
diff --git a/src/acpica/source/compiler/aslmessages.c b/src/acpica/source/compiler/aslmessages.c
index 7f5cde73..b9e9f801 100644
--- a/src/acpica/source/compiler/aslmessages.c
+++ b/src/acpica/source/compiler/aslmessages.c
@@ -356,7 +356,8 @@ const char                      *AslCompilerMsgs [] =
 /*    ASL_MSG_EXTERN_COLLISION */           "A name cannot be defined and declared external in the same table",
 /*    ASL_MSG_FOUND_HERE_EXTERN */          "Remove one of the declarations indicated above or below:",
 /*    ASL_MSG_OEM_TABLE_ID */               "Invalid OEM Table ID",
-/*    ASL_MSG_OEM_ID */                     "Invalid OEM ID"
+/*    ASL_MSG_OEM_ID */                     "Invalid OEM ID",
+/*    ASL_MSG_UNLOAD */                     "Unload is not supported by all operating systems"
 };
 
 /* Table compiler */
diff --git a/src/acpica/source/compiler/aslmessages.h b/src/acpica/source/compiler/aslmessages.h
index 18e81445..dcd2aa0d 100644
--- a/src/acpica/source/compiler/aslmessages.h
+++ b/src/acpica/source/compiler/aslmessages.h
@@ -359,6 +359,7 @@ typedef enum
     ASL_MSG_EXTERN_FOUND_HERE,
     ASL_MSG_OEM_TABLE_ID,
     ASL_MSG_OEM_ID,
+    ASL_MSG_UNLOAD,
 
     /* These messages are used by the Data Table compiler only */
 
diff --git a/src/acpica/source/compiler/aslparser.y b/src/acpica/source/compiler/aslparser.y
index 38c033d5..5ba4d4ab 100644
--- a/src/acpica/source/compiler/aslparser.y
+++ b/src/acpica/source/compiler/aslparser.y
@@ -208,7 +208,7 @@ AslLocalAllocate (
  * These shift/reduce conflicts are expected. There should be zero
  * reduce/reduce conflicts.
  */
-%expect 118
+%expect 124
 
 /*! [Begin] no source code translation */
 
diff --git a/src/acpica/source/compiler/aslprimaries.y b/src/acpica/source/compiler/aslprimaries.y
index b131f2a9..e2faf9a9 100644
--- a/src/acpica/source/compiler/aslprimaries.y
+++ b/src/acpica/source/compiler/aslprimaries.y
@@ -235,12 +235,12 @@ BankFieldTerm
         NameString
         NameStringItem
         TermArgItem
-        ',' AccessTypeKeyword
-        ',' LockRuleKeyword
-        ',' UpdateRuleKeyword
+        OptionalAccessTypeKeyword
+        OptionalLockRuleKeyword
+        OptionalUpdateRuleKeyword
         PARSEOP_CLOSE_PAREN '{'
             FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,7,
-                                        $4,$5,$6,$8,$10,$12,$15);}
+                                        $4,$5,$6,$7,$8,$9,$12);}
     | PARSEOP_BANKFIELD
         PARSEOP_OPEN_PAREN
         error PARSEOP_CLOSE_PAREN
@@ -579,11 +579,11 @@ FieldTerm
     : PARSEOP_FIELD
         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_FIELD);}
         NameString
-        ',' AccessTypeKeyword
-        ',' LockRuleKeyword
-        ',' UpdateRuleKeyword
+        OptionalAccessTypeKeyword
+        OptionalLockRuleKeyword
+        OptionalUpdateRuleKeyword
         PARSEOP_CLOSE_PAREN '{'
-            FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,5,$4,$6,$8,$10,$13);}
+            FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);}
     | PARSEOP_FIELD
         PARSEOP_OPEN_PAREN
         error PARSEOP_CLOSE_PAREN
@@ -711,11 +711,11 @@ IndexFieldTerm
         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_INDEXFIELD);}
         NameString
         NameStringItem
-        ',' AccessTypeKeyword
-        ',' LockRuleKeyword
-        ',' UpdateRuleKeyword
+        OptionalAccessTypeKeyword
+        OptionalLockRuleKeyword
+        OptionalUpdateRuleKeyword
         PARSEOP_CLOSE_PAREN '{'
-            FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$7,$9,$11,$14);}
+            FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$6,$7,$8,$11);}
     | PARSEOP_INDEXFIELD
         PARSEOP_OPEN_PAREN
         error PARSEOP_CLOSE_PAREN
@@ -946,9 +946,9 @@ MutexTerm
     : PARSEOP_MUTEX
         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MUTEX);}
         NameString
-        ',' ByteConstExpr
+        OptionalSyncLevel
         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,
-                                        TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$6);}
+                                        TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$5);}
     | PARSEOP_MUTEX
         PARSEOP_OPEN_PAREN
         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
diff --git a/src/acpica/source/compiler/asltransform.c b/src/acpica/source/compiler/asltransform.c
index c74499ea..559b4f8f 100644
--- a/src/acpica/source/compiler/asltransform.c
+++ b/src/acpica/source/compiler/asltransform.c
@@ -496,6 +496,11 @@ TrTransformSubtree (
         Op->Asl.Value.String = "\\";
         break;
 
+    case PARSEOP_UNLOAD:
+
+        AslError (ASL_WARNING, ASL_MSG_UNLOAD, Op, NULL);
+        break;
+
     default:
 
         /* Nothing to do here for other opcodes */
diff --git a/src/acpica/source/compiler/asltypes.y b/src/acpica/source/compiler/asltypes.y
index 361d476f..4112969d 100644
--- a/src/acpica/source/compiler/asltypes.y
+++ b/src/acpica/source/compiler/asltypes.y
@@ -461,6 +461,7 @@ NoEcho('
 %type <n> TermArgItem
 
 %type <n> OptionalAccessSize
+%type <n> OptionalAccessTypeKeyword
 %type <n> OptionalAddressingMode
 %type <n> OptionalAddressRange
 %type <n> OptionalBitsPerByte
@@ -475,6 +476,7 @@ NoEcho('
 %type <n> OptionalFlowControl
 %type <n> OptionalIoRestriction
 %type <n> OptionalListString
+%type <n> OptionalLockRuleKeyword
 %type <n> OptionalMaxType
 %type <n> OptionalMemType
 %type <n> OptionalMinType
@@ -500,10 +502,12 @@ NoEcho('
 %type <n> OptionalSlaveMode
 %type <n> OptionalStopBits
 %type <n> OptionalStringData
+%type <n> OptionalSyncLevel
 %type <n> OptionalTermArg
 %type <n> OptionalTranslationType_Last
 %type <n> OptionalType
 %type <n> OptionalType_Last
+%type <n> OptionalUpdateRuleKeyword
 %type <n> OptionalWireMode
 %type <n> OptionalWordConst
 %type <n> OptionalWordConstExpr
diff --git a/src/acpica/source/components/hardware/hwxfsleep.c b/src/acpica/source/components/hardware/hwxfsleep.c
index 8ebb8c1d..b2f856c5 100644
--- a/src/acpica/source/components/hardware/hwxfsleep.c
+++ b/src/acpica/source/components/hardware/hwxfsleep.c
@@ -184,17 +184,17 @@ AcpiHwSleepDispatch (
 
 static ACPI_SLEEP_FUNCTIONS         AcpiSleepDispatch[] =
 {
-    {ACPI_STRUCT_INIT (legacy_function,
+    {ACPI_STRUCT_INIT (LegacyFunction,
                        ACPI_HW_OPTIONAL_FUNCTION (AcpiHwLegacySleep)),
-     ACPI_STRUCT_INIT (extended_function,
+     ACPI_STRUCT_INIT (ExtendedFunction,
                        AcpiHwExtendedSleep) },
-    {ACPI_STRUCT_INIT (legacy_function,
+    {ACPI_STRUCT_INIT (LegacyFunction,
                        ACPI_HW_OPTIONAL_FUNCTION (AcpiHwLegacyWakePrep)),
-     ACPI_STRUCT_INIT (extended_function,
+     ACPI_STRUCT_INIT (ExtendedFunction,
                        AcpiHwExtendedWakePrep) },
-    {ACPI_STRUCT_INIT (legacy_function,
+    {ACPI_STRUCT_INIT (Legacy_function,
                        ACPI_HW_OPTIONAL_FUNCTION (AcpiHwLegacyWake)),
-     ACPI_STRUCT_INIT (extended_function,
+     ACPI_STRUCT_INIT (ExtendedFunction,
                        AcpiHwExtendedWake) }
 };
 
diff --git a/src/acpica/source/components/namespace/nsaccess.c b/src/acpica/source/components/namespace/nsaccess.c
index d084c6fe..bf530d48 100644
--- a/src/acpica/source/components/namespace/nsaccess.c
+++ b/src/acpica/source/components/namespace/nsaccess.c
@@ -781,13 +781,6 @@ AcpiNsLookup (
 
         else
         {
-#ifdef ACPI_ASL_COMPILER
-            if (!AcpiGbl_DisasmFlag && (ThisNode->Flags & ANOBJ_IS_EXTERNAL))
-            {
-                ThisNode->Flags &= ~IMPLICIT_EXTERNAL;
-            }
-#endif
-
             /*
              * Sanity typecheck of the target object:
              *
diff --git a/src/acpica/source/components/namespace/nseval.c b/src/acpica/source/components/namespace/nseval.c
index 2a7eb8f5..8262d992 100644
--- a/src/acpica/source/components/namespace/nseval.c
+++ b/src/acpica/source/components/namespace/nseval.c
@@ -429,11 +429,11 @@ AcpiNsEvaluate (
 
         Status = AE_OK;
     }
-    else if (ACPI_FAILURE(Status)) 
+    else if (ACPI_FAILURE(Status))
     {
         /* If ReturnObject exists, delete it */
 
-        if (Info->ReturnObject) 
+        if (Info->ReturnObject)
         {
             AcpiUtRemoveReference (Info->ReturnObject);
             Info->ReturnObject = NULL;
diff --git a/src/acpica/source/components/namespace/nssearch.c b/src/acpica/source/components/namespace/nssearch.c
index 02fd8b40..dab4b570 100644
--- a/src/acpica/source/components/namespace/nssearch.c
+++ b/src/acpica/source/components/namespace/nssearch.c
@@ -545,7 +545,6 @@ AcpiNsSearchAndEnter (
         (WalkState && WalkState->Opcode == AML_SCOPE_OP))
     {
         NewNode->Flags |= ANOBJ_IS_EXTERNAL;
-        NewNode->Flags |= IMPLICIT_EXTERNAL;
     }
 #endif
 
diff --git a/src/acpica/source/include/aclocal.h b/src/acpica/source/include/aclocal.h
index f487a4ec..58c09379 100644
--- a/src/acpica/source/include/aclocal.h
+++ b/src/acpica/source/include/aclocal.h
@@ -328,7 +328,6 @@ typedef struct acpi_namespace_node
 #define ANOBJ_EVALUATED                 0x20    /* Set on first evaluation of node */
 #define ANOBJ_ALLOCATED_BUFFER          0x40    /* Method AML buffer is dynamic (InstallMethod) */
 
-#define IMPLICIT_EXTERNAL               0x02    /* iASL only: This object created implicitly via External */
 #define ANOBJ_IS_EXTERNAL               0x08    /* iASL only: This object created via External() */
 #define ANOBJ_METHOD_NO_RETVAL          0x10    /* iASL only: Method has no return value */
 #define ANOBJ_METHOD_SOME_NO_RETVAL     0x20    /* iASL only: Method has at least one return value */
diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h
index cfe83791..110b375b 100644
--- a/src/acpica/source/include/acpixf.h
+++ b/src/acpica/source/include/acpixf.h
@@ -154,7 +154,7 @@
 
 /* Current ACPICA subsystem version in YYYYMMDD format */
 
-#define ACPI_CA_VERSION                 0x20180531
+#define ACPI_CA_VERSION                 0x20180629
 
 #include "acconfig.h"
 #include "actypes.h"
-- 
2.17.1




More information about the fwts-devel mailing list