From 309665cc8b97ab2b484d13bd27fcc3f96fd50673 Mon Sep 17 00:00:00 2001 From: Lin Ming Date: Wed, 12 Nov 2008 14:56:59 +0800 Subject: [PATCH] --- yaml --- r: 128021 b: refs/heads/master c: 84d4db7c528e23f8c9ae0be12960549347003eeb h: refs/heads/master i: 128019: 401d093b3d9670e7eb5b0f7da35d888ac16d2232 v: v3 --- [refs] | 2 +- trunk/drivers/acpi/parser/psparse.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index fe19c44b6b33..612eff2111a2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d85988fa0205b18459071e4bd709e48e695b952d +refs/heads/master: 84d4db7c528e23f8c9ae0be12960549347003eeb diff --git a/trunk/drivers/acpi/parser/psparse.c b/trunk/drivers/acpi/parser/psparse.c index 68e932f215ea..dfd3d9028018 100644 --- a/trunk/drivers/acpi/parser/psparse.c +++ b/trunk/drivers/acpi/parser/psparse.c @@ -451,6 +451,14 @@ acpi_status acpi_ps_parse_aml(struct acpi_walk_state *walk_state) thread = acpi_ut_create_thread_state(); if (!thread) { + if (walk_state->method_desc) { + + /* Executing a control method - additional cleanup */ + + acpi_ds_terminate_control_method( + walk_state->method_desc, walk_state); + } + acpi_ds_delete_walk_state(walk_state); return_ACPI_STATUS(AE_NO_MEMORY); }