summaryrefslogtreecommitdiff
path: root/source/compiler/aslload.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/compiler/aslload.c')
-rw-r--r--source/compiler/aslload.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/source/compiler/aslload.c b/source/compiler/aslload.c
index c910358d7efbd..dfbdf7cefc4ca 100644
--- a/source/compiler/aslload.c
+++ b/source/compiler/aslload.c
@@ -492,7 +492,7 @@ LdNamespace1Begin (
case AML_FIELD_OP:
Status = LdLoadFieldElements (Op, WalkState);
- return (Status);
+ break;
case AML_INT_CONNECTION_OP:
@@ -556,7 +556,8 @@ LdNamespace1Begin (
* We only want references to named objects:
* Store (2, WXYZ) -> Attempt to resolve the name
*/
- if (OpInfo->Class == AML_CLASS_NAMED_OBJECT)
+ if ((OpInfo->Class == AML_CLASS_NAMED_OBJECT) &&
+ (OpInfo->Type != AML_TYPE_NAMED_FIELD))
{
return (AE_OK);
}
@@ -702,7 +703,7 @@ LdNamespace1Begin (
/* However, this is an error -- operand to Scope must exist */
- if (strlen (Op->Asl.ExternalName) == ACPI_NAME_SIZE)
+ if (strlen (Op->Asl.ExternalName) == ACPI_NAMESEG_SIZE)
{
AslError (ASL_ERROR, ASL_MSG_NOT_FOUND, Op,
Op->Asl.ExternalName);
@@ -731,7 +732,7 @@ LdNamespace1Begin (
* 10/2015.
*/
if ((Node->Flags & ANOBJ_IS_EXTERNAL) &&
- (ACPI_COMPARE_NAME (AslGbl_TableSignature, "DSDT")))
+ (ACPI_COMPARE_NAMESEG (AslGbl_TableSignature, "DSDT")))
{
/* However, allowed if the reference is within a method */
@@ -1095,7 +1096,7 @@ LdNamespace2Begin (
{
/* Standalone NameSeg vs. NamePath */
- if (strlen (Arg->Asl.ExternalName) == ACPI_NAME_SIZE)
+ if (strlen (Arg->Asl.ExternalName) == ACPI_NAMESEG_SIZE)
{
AslError (ASL_ERROR, ASL_MSG_NOT_FOUND, Op,
Arg->Asl.ExternalName);