diff options
Diffstat (limited to 'source/components/parser')
-rw-r--r-- | source/components/parser/psloop.c | 5 | ||||
-rw-r--r-- | source/components/parser/psobject.c | 7 |
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); } |