summaryrefslogtreecommitdiff
path: root/source/components/parser
diff options
context:
space:
mode:
Diffstat (limited to 'source/components/parser')
-rw-r--r--source/components/parser/psloop.c5
-rw-r--r--source/components/parser/psobject.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/source/components/parser/psloop.c b/source/components/parser/psloop.c
index bbcf5253db42..ace1d6b2bbbf 100644
--- a/source/components/parser/psloop.c
+++ b/source/components/parser/psloop.c
@@ -489,6 +489,11 @@ AcpiPsParseLoop (
Status = AE_OK;
}
+ if (Status == AE_CTRL_TERMINATE)
+ {
+ return_ACPI_STATUS (Status);
+ }
+
Status = AcpiPsCompleteOp (WalkState, &Op, Status);
if (ACPI_FAILURE (Status))
{
diff --git a/source/components/parser/psobject.c b/source/components/parser/psobject.c
index 23fade369f35..661817178d8e 100644
--- a/source/components/parser/psobject.c
+++ b/source/components/parser/psobject.c
@@ -229,7 +229,10 @@ AcpiPsBuildNamedOp (
Status = WalkState->DescendingCallback (WalkState, Op);
if (ACPI_FAILURE (Status))
{
- ACPI_EXCEPTION ((AE_INFO, Status, "During name lookup/catalog"));
+ if (Status != AE_CTRL_TERMINATE)
+ {
+ ACPI_EXCEPTION ((AE_INFO, Status, "During name lookup/catalog"));
+ }
return_ACPI_STATUS (Status);
}
@@ -243,7 +246,7 @@ AcpiPsBuildNamedOp (
{
if (Status == AE_CTRL_PENDING)
{
- return_ACPI_STATUS (AE_CTRL_PARSE_PENDING);
+ Status = AE_CTRL_PARSE_PENDING;
}
return_ACPI_STATUS (Status);
}