diff options
Diffstat (limited to 'drivers/acpi/acpica/nsobject.c')
-rw-r--r-- | drivers/acpi/acpica/nsobject.c | 12 |
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 | } |