summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/components/executer/exconfig.c2
-rw-r--r--source/components/namespace/nsparse.c9
2 files changed, 9 insertions, 2 deletions
diff --git a/source/components/executer/exconfig.c b/source/components/executer/exconfig.c
index 333567fcc..9e8528833 100644
--- a/source/components/executer/exconfig.c
+++ b/source/components/executer/exconfig.c
@@ -191,7 +191,9 @@ AcpiExAddTable (
/* Add the table to the namespace */
+ AcpiExExitInterpreter ();
Status = AcpiNsLoadTable (TableIndex, ParentNode);
+ AcpiExEnterInterpreter ();
if (ACPI_FAILURE (Status))
{
AcpiUtRemoveReference (ObjDesc);
diff --git a/source/components/namespace/nsparse.c b/source/components/namespace/nsparse.c
index 6cfdd06fa..692d83760 100644
--- a/source/components/namespace/nsparse.c
+++ b/source/components/namespace/nsparse.c
@@ -119,6 +119,7 @@
#include "acparser.h"
#include "acdispat.h"
#include "actables.h"
+#include "acinterp.h"
#define _COMPONENT ACPI_NAMESPACE
@@ -260,6 +261,8 @@ AcpiNsParseTable (
ACPI_FUNCTION_TRACE (NsParseTable);
+ AcpiExEnterInterpreter ();
+
/*
* AML Parse, pass 1
*
@@ -276,7 +279,7 @@ AcpiNsParseTable (
TableIndex, StartNode);
if (ACPI_FAILURE (Status))
{
- return_ACPI_STATUS (Status);
+ goto ErrorExit;
}
/*
@@ -293,8 +296,10 @@ AcpiNsParseTable (
TableIndex, StartNode);
if (ACPI_FAILURE (Status))
{
- return_ACPI_STATUS (Status);
+ goto ErrorExit;
}
+ErrorExit:
+ AcpiExExitInterpreter ();
return_ACPI_STATUS (Status);
}