summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/nseval.c
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2004-03-18 17:42:14 +0000
committernjl <njl@FreeBSD.org>2004-03-18 17:42:14 +0000
commit61c302fc074304c548f2de409a49f0c6c9564470 (patch)
treec3d67f348307b618a7d26de7d74397f4eb6d7a53 /sys/contrib/dev/acpica/nseval.c
parentd4d5fa01f81a58ab630067ec21e8a10390ff6c28 (diff)
downloadFreeBSD-src-61c302fc074304c548f2de409a49f0c6c9564470.zip
FreeBSD-src-61c302fc074304c548f2de409a49f0c6c9564470.tar.gz
Import of Intel ACPI-CA 20040311.
Diffstat (limited to 'sys/contrib/dev/acpica/nseval.c')
-rw-r--r--sys/contrib/dev/acpica/nseval.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/sys/contrib/dev/acpica/nseval.c b/sys/contrib/dev/acpica/nseval.c
index e464f8c..cb509d3 100644
--- a/sys/contrib/dev/acpica/nseval.c
+++ b/sys/contrib/dev/acpica/nseval.c
@@ -2,7 +2,7 @@
*
* Module Name: nseval - Object evaluation interfaces -- includes control
* method lookup and execution.
- * $Revision: 123 $
+ * $Revision: 124 $
*
******************************************************************************/
@@ -157,11 +157,11 @@ AcpiNsEvaluateRelative (
ACPI_OPERAND_OBJECT **Params,
ACPI_OPERAND_OBJECT **ReturnObject)
{
- ACPI_NAMESPACE_NODE *PrefixNode;
ACPI_STATUS Status;
+ ACPI_NAMESPACE_NODE *PrefixNode;
ACPI_NAMESPACE_NODE *Node = NULL;
+ ACPI_GENERIC_STATE *ScopeInfo;
char *InternalPath = NULL;
- ACPI_GENERIC_STATE ScopeInfo;
ACPI_FUNCTION_TRACE ("NsEvaluateRelative");
@@ -183,6 +183,12 @@ AcpiNsEvaluateRelative (
return_ACPI_STATUS (Status);
}
+ ScopeInfo = AcpiUtCreateGenericState ();
+ if (!ScopeInfo)
+ {
+ goto Cleanup1;
+ }
+
/* Get the prefix handle and Node */
Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
@@ -201,8 +207,8 @@ AcpiNsEvaluateRelative (
/* Lookup the name in the namespace */
- ScopeInfo.Scope.Node = PrefixNode;
- Status = AcpiNsLookup (&ScopeInfo, InternalPath, ACPI_TYPE_ANY,
+ ScopeInfo->Scope.Node = PrefixNode;
+ Status = AcpiNsLookup (ScopeInfo, InternalPath, ACPI_TYPE_ANY,
ACPI_IMODE_EXECUTE, ACPI_NS_NO_UPSEARCH, NULL,
&Node);
@@ -228,7 +234,9 @@ AcpiNsEvaluateRelative (
Pathname));
Cleanup:
+ AcpiUtDeleteGenericState (ScopeInfo);
+Cleanup1:
ACPI_MEM_FREE (InternalPath);
return_ACPI_STATUS (Status);
}
OpenPOWER on IntegriCloud