diff options
Diffstat (limited to 'source/components/dispatcher/dsmethod.c')
-rw-r--r-- | source/components/dispatcher/dsmethod.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/source/components/dispatcher/dsmethod.c b/source/components/dispatcher/dsmethod.c index 54a5c8232774..f1c3be8b1953 100644 --- a/source/components/dispatcher/dsmethod.c +++ b/source/components/dispatcher/dsmethod.c @@ -123,6 +123,7 @@ AcpiDsAutoSerializeMethod ( WalkState = AcpiDsCreateWalkState (Node->OwnerId, NULL, NULL, NULL); if (!WalkState) { + AcpiPsFreeOp (Op); return_ACPI_STATUS (AE_NO_MEMORY); } @@ -131,6 +132,7 @@ AcpiDsAutoSerializeMethod ( if (ACPI_FAILURE (Status)) { AcpiDsDeleteWalkState (WalkState); + AcpiPsFreeOp (Op); return_ACPI_STATUS (Status); } @@ -139,10 +141,6 @@ AcpiDsAutoSerializeMethod ( /* Parse the method, scan for creation of named objects */ Status = AcpiPsParseAml (WalkState); - if (ACPI_FAILURE (Status)) - { - return_ACPI_STATUS (Status); - } AcpiPsDeleteParseTree (Op); return_ACPI_STATUS (Status); |