summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2014-07-09 08:25:45 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-07-09 17:55:49 +0200
commit7817e265233e4b216aad509fc003cf4face238b9 (patch)
treebc06904c1f6b767e4080531638b6df2be4ff1186
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>
-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)
(node->object->common.type != ACPI_TYPE_LOCAL_DATA)) {
node->object = node->object->common.next_object;
}
- }
- /*
- * Detach the object from any data objects (which are still held by
- * the namespace node)
- */
-
- if (obj_desc->common.next_object &&
- ((obj_desc->common.next_object)->common.type ==
- ACPI_TYPE_LOCAL_DATA)) {
- obj_desc->common.next_object = NULL;
+ /*
+ * Detach the object from any data objects (which are still held by
+ * the namespace node)
+ */
+ if (obj_desc->common.next_object &&
+ ((obj_desc->common.next_object)->common.type ==
+ ACPI_TYPE_LOCAL_DATA)) {
+ obj_desc->common.next_object = NULL;
+ }
}
/* Reset the node type to untyped */