From 2b17a8d498a3e4598c19121ab1fad3e7ced2c699 Mon Sep 17 00:00:00 2001 From: iwasaki Date: Wed, 27 Nov 2002 18:07:48 +0000 Subject: Vendor import of the Intel ACPI CA 20021118 drop. Approved by: re --- sys/contrib/dev/acpica/dswexec.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'sys/contrib/dev/acpica/dswexec.c') diff --git a/sys/contrib/dev/acpica/dswexec.c b/sys/contrib/dev/acpica/dswexec.c index 316442b..f90dd08 100644 --- a/sys/contrib/dev/acpica/dswexec.c +++ b/sys/contrib/dev/acpica/dswexec.c @@ -2,7 +2,7 @@ * * Module Name: dswexec - Dispatcher method execution callbacks; * dispatch to interpreter. - * $Revision: 95 $ + * $Revision: 96 $ * *****************************************************************************/ @@ -443,7 +443,6 @@ AcpiDsExecEndOp ( UINT32 OpClass; ACPI_PARSE_OBJECT *NextOp; ACPI_PARSE_OBJECT *FirstArg; - UINT32 i; ACPI_FUNCTION_TRACE_PTR ("DsExecEndOp", WalkState); @@ -526,16 +525,7 @@ AcpiDsExecEndOp ( /* Always delete the argument objects and clear the operand stack */ - for (i = 0; i < WalkState->NumOperands; i++) - { - /* - * Remove a reference to all operands, including both - * "Arguments" and "Targets". - */ - AcpiUtRemoveReference (WalkState->Operands[i]); - WalkState->Operands[i] = NULL; - } - WalkState->NumOperands = 0; + AcpiDsClearOperands (WalkState); /* * If a result object was returned from above, push it on the @@ -601,6 +591,9 @@ AcpiDsExecEndOp ( Status = AcpiDsResolveOperands (WalkState); if (ACPI_FAILURE (Status)) { + /* On error, clear all resolved operands */ + + AcpiDsClearOperands (WalkState); break; } -- cgit v1.1