aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2014-07-08 20:25:45 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-07-09 11:55:49 -0400
commit7817e265233e4b216aad509fc003cf4face238b9 (patch)
treebc06904c1f6b767e4080531638b6df2be4ff1186 /drivers/acpi/acpica
parent587fc727ad7bbb475d7663921e4f731de6e21857 (diff)
ACPICA: Fix a regression for deletion of Alias() objects.
Fixes a regression introduced by commit e23d9b829754 (ACPICA: Namespace: Properly null terminate objects detached from a namespace node) In the case of Alias namespace nodes, the node simply points to the aliased node via the Object field; thus we cannot assume that the object is an operand object. Fixes: e23d9b829754 (ACPICA: Namespace: Properly null terminate objects detached from a namespace node) Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/acpica')
-rw-r--r--drivers/acpi/acpica/nsobject.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/acpi/acpica/nsobject.c b/drivers/acpi/acpica/nsobject.c
index f1ea8e56cd87..a42ee9d6970d 100644
--- a/drivers/acpi/acpica/nsobject.c
+++ b/drivers/acpi/acpica/nsobject.c
@@ -237,17 +237,16 @@ void acpi_ns_detach_object(struct acpi_namespace_node *node)
237 (node->object->common.type != ACPI_TYPE_LOCAL_DATA)) { 237 (node->object->common.type != ACPI_TYPE_LOCAL_DATA)) {
238 node->object = node->object->common.next_object; 238 node->object = node->object->common.next_object;
239 } 239 }
240 }
241 240
242 /* 241 /*
243 * Detach the object from any data objects (which are still held by 242 * Detach the object from any data objects (which are still held by
244 * the namespace node) 243 * the namespace node)
245 */ 244 */
246 245 if (obj_desc->common.next_object &&
247 if (obj_desc->common.next_object && 246 ((obj_desc->common.next_object)->common.type ==
248 ((obj_desc->common.next_object)->common.type == 247 ACPI_TYPE_LOCAL_DATA)) {
249 ACPI_TYPE_LOCAL_DATA)) { 248 obj_desc->common.next_object = NULL;
250 obj_desc->common.next_object = NULL; 249 }
251 } 250 }
252 251
253 /* Reset the node type to untyped */ 252 /* Reset the node type to untyped */