aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/dsmethod.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/acpica/dsmethod.c')
-rw-r--r--drivers/acpi/acpica/dsmethod.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c
index d72565a3c646..85bb951430d9 100644
--- a/drivers/acpi/acpica/dsmethod.c
+++ b/drivers/acpi/acpica/dsmethod.c
@@ -116,6 +116,7 @@ acpi_ds_auto_serialize_method(struct acpi_namespace_node *node,
116 walk_state = 116 walk_state =
117 acpi_ds_create_walk_state(node->owner_id, NULL, NULL, NULL); 117 acpi_ds_create_walk_state(node->owner_id, NULL, NULL, NULL);
118 if (!walk_state) { 118 if (!walk_state) {
119 acpi_ps_free_op(op);
119 return_ACPI_STATUS(AE_NO_MEMORY); 120 return_ACPI_STATUS(AE_NO_MEMORY);
120 } 121 }
121 122
@@ -125,6 +126,7 @@ acpi_ds_auto_serialize_method(struct acpi_namespace_node *node,
125 obj_desc->method.aml_length, NULL, 0); 126 obj_desc->method.aml_length, NULL, 0);
126 if (ACPI_FAILURE(status)) { 127 if (ACPI_FAILURE(status)) {
127 acpi_ds_delete_walk_state(walk_state); 128 acpi_ds_delete_walk_state(walk_state);
129 acpi_ps_free_op(op);
128 return_ACPI_STATUS(status); 130 return_ACPI_STATUS(status);
129 } 131 }
130 132
@@ -133,9 +135,6 @@ acpi_ds_auto_serialize_method(struct acpi_namespace_node *node,
133 /* Parse the method, scan for creation of named objects */ 135 /* Parse the method, scan for creation of named objects */
134 136
135 status = acpi_ps_parse_aml(walk_state); 137 status = acpi_ps_parse_aml(walk_state);
136 if (ACPI_FAILURE(status)) {
137 return_ACPI_STATUS(status);
138 }
139 138
140 acpi_ps_delete_parse_tree(op); 139 acpi_ps_delete_parse_tree(op);
141 return_ACPI_STATUS(status); 140 return_ACPI_STATUS(status);