aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/executer/exresolv.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/executer/exresolv.c')
-rw-r--r--drivers/acpi/executer/exresolv.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/acpi/executer/exresolv.c b/drivers/acpi/executer/exresolv.c
index 006bba035d51..6499de878017 100644
--- a/drivers/acpi/executer/exresolv.c
+++ b/drivers/acpi/executer/exresolv.c
@@ -257,10 +257,24 @@ acpi_ex_resolve_object_to_value(union acpi_operand_object **stack_ptr,
257 257
258 case AML_INT_NAMEPATH_OP: /* Reference to a named object */ 258 case AML_INT_NAMEPATH_OP: /* Reference to a named object */
259 259
260 /* Get the object pointed to by the namespace node */ 260 /* Dereference the name */
261
262 if ((stack_desc->reference.node->type ==
263 ACPI_TYPE_DEVICE)
264 || (stack_desc->reference.node->type ==
265 ACPI_TYPE_THERMAL)) {
266
267 /* These node types do not have 'real' subobjects */
268
269 *stack_ptr = (void *)stack_desc->reference.node;
270 } else {
271 /* Get the object pointed to by the namespace node */
272
273 *stack_ptr =
274 (stack_desc->reference.node)->object;
275 acpi_ut_add_reference(*stack_ptr);
276 }
261 277
262 *stack_ptr = (stack_desc->reference.node)->object;
263 acpi_ut_add_reference(*stack_ptr);
264 acpi_ut_remove_reference(stack_desc); 278 acpi_ut_remove_reference(stack_desc);
265 break; 279 break;
266 280