From 2fb5d9bdb90bc315ffd258f6a2a49b714ef3682d Mon Sep 17 00:00:00 2001 From: Fiodor Suietov Date: Fri, 2 Feb 2007 19:48:21 +0300 Subject: [PATCH] --- yaml --- r: 46383 b: refs/heads/master c: 65e4b9b05dc10ee84b5c9fc3039fbcc6863743d7 h: refs/heads/master i: 46381: 05e35a2e04ffc907b1465d9c2d1b46c696693bc1 46379: 5d52c0c424c589b49217f21bd4e49053e2d94fa0 46375: bdc20162b02d1c84e309921b9ca163ec55516ac6 46367: d06fe3eb5a9b0856dcaf4b4eb343cbd25fd5ac9a v: v3 --- [refs] | 2 +- trunk/drivers/acpi/executer/exresolv.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 82411890ea58..8dcbe054c942 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 867c9aec576e0c0d89dfa3922019320619002129 +refs/heads/master: 65e4b9b05dc10ee84b5c9fc3039fbcc6863743d7 diff --git a/trunk/drivers/acpi/executer/exresolv.c b/trunk/drivers/acpi/executer/exresolv.c index 6499de878017..fa17f550972b 100644 --- a/trunk/drivers/acpi/executer/exresolv.c +++ b/trunk/drivers/acpi/executer/exresolv.c @@ -141,7 +141,7 @@ acpi_ex_resolve_object_to_value(union acpi_operand_object **stack_ptr, acpi_status status = AE_OK; union acpi_operand_object *stack_desc; void *temp_node; - union acpi_operand_object *obj_desc; + union acpi_operand_object *obj_desc = NULL; u16 opcode; ACPI_FUNCTION_TRACE(ex_resolve_object_to_value); @@ -299,8 +299,6 @@ acpi_ex_resolve_object_to_value(union acpi_operand_object **stack_ptr, status = acpi_ds_get_package_arguments(stack_desc); break; - /* These cases may never happen here, but just in case.. */ - case ACPI_TYPE_BUFFER_FIELD: case ACPI_TYPE_LOCAL_REGION_FIELD: case ACPI_TYPE_LOCAL_BANK_FIELD: @@ -314,6 +312,10 @@ acpi_ex_resolve_object_to_value(union acpi_operand_object **stack_ptr, status = acpi_ex_read_data_from_field(walk_state, stack_desc, &obj_desc); + + /* Remove a reference to the original operand, then override */ + + acpi_ut_remove_reference(*stack_ptr); *stack_ptr = (void *)obj_desc; break;