aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/nsobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/acpica/nsobject.c')
-rw-r--r--drivers/acpi/acpica/nsobject.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/acpi/acpica/nsobject.c b/drivers/acpi/acpica/nsobject.c
index 7a736f4d1fd8..fe54a8c73b8c 100644
--- a/drivers/acpi/acpica/nsobject.c
+++ b/drivers/acpi/acpica/nsobject.c
@@ -6,7 +6,7 @@
6 ******************************************************************************/ 6 ******************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2013, Intel Corp. 9 * Copyright (C) 2000 - 2014, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
@@ -222,13 +222,19 @@ void acpi_ns_detach_object(struct acpi_namespace_node *node)
222 } 222 }
223 } 223 }
224 224
225 /* Clear the entry in all cases */ 225 /* Clear the Node entry in all cases */
226 226
227 node->object = NULL; 227 node->object = NULL;
228 if (ACPI_GET_DESCRIPTOR_TYPE(obj_desc) == ACPI_DESC_TYPE_OPERAND) { 228 if (ACPI_GET_DESCRIPTOR_TYPE(obj_desc) == ACPI_DESC_TYPE_OPERAND) {
229
230 /* Unlink object from front of possible object list */
231
229 node->object = obj_desc->common.next_object; 232 node->object = obj_desc->common.next_object;
233
234 /* Handle possible 2-descriptor object */
235
230 if (node->object && 236 if (node->object &&
231 ((node->object)->common.type != ACPI_TYPE_LOCAL_DATA)) { 237 (node->object->common.type != ACPI_TYPE_LOCAL_DATA)) {
232 node->object = node->object->common.next_object; 238 node->object = node->object->common.next_object;
233 } 239 }
234 } 240 }