diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/executer/exresolv.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/acpi/executer/exresolv.c b/drivers/acpi/executer/exresolv.c index 6499de878017..fa17f550972b 100644 --- a/drivers/acpi/executer/exresolv.c +++ b/drivers/acpi/executer/exresolv.c | |||
@@ -141,7 +141,7 @@ acpi_ex_resolve_object_to_value(union acpi_operand_object **stack_ptr, | |||
141 | acpi_status status = AE_OK; | 141 | acpi_status status = AE_OK; |
142 | union acpi_operand_object *stack_desc; | 142 | union acpi_operand_object *stack_desc; |
143 | void *temp_node; | 143 | void *temp_node; |
144 | union acpi_operand_object *obj_desc; | 144 | union acpi_operand_object *obj_desc = NULL; |
145 | u16 opcode; | 145 | u16 opcode; |
146 | 146 | ||
147 | ACPI_FUNCTION_TRACE(ex_resolve_object_to_value); | 147 | ACPI_FUNCTION_TRACE(ex_resolve_object_to_value); |
@@ -299,8 +299,6 @@ acpi_ex_resolve_object_to_value(union acpi_operand_object **stack_ptr, | |||
299 | status = acpi_ds_get_package_arguments(stack_desc); | 299 | status = acpi_ds_get_package_arguments(stack_desc); |
300 | break; | 300 | break; |
301 | 301 | ||
302 | /* These cases may never happen here, but just in case.. */ | ||
303 | |||
304 | case ACPI_TYPE_BUFFER_FIELD: | 302 | case ACPI_TYPE_BUFFER_FIELD: |
305 | case ACPI_TYPE_LOCAL_REGION_FIELD: | 303 | case ACPI_TYPE_LOCAL_REGION_FIELD: |
306 | case ACPI_TYPE_LOCAL_BANK_FIELD: | 304 | case ACPI_TYPE_LOCAL_BANK_FIELD: |
@@ -314,6 +312,10 @@ acpi_ex_resolve_object_to_value(union acpi_operand_object **stack_ptr, | |||
314 | status = | 312 | status = |
315 | acpi_ex_read_data_from_field(walk_state, stack_desc, | 313 | acpi_ex_read_data_from_field(walk_state, stack_desc, |
316 | &obj_desc); | 314 | &obj_desc); |
315 | |||
316 | /* Remove a reference to the original operand, then override */ | ||
317 | |||
318 | acpi_ut_remove_reference(*stack_ptr); | ||
317 | *stack_ptr = (void *)obj_desc; | 319 | *stack_ptr = (void *)obj_desc; |
318 | break; | 320 | break; |
319 | 321 | ||