diff options
author | Bob Moore <robert.moore@intel.com> | 2014-07-09 08:25:45 +0800 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-07-09 17:55:49 +0200 |
commit | 7817e265233e4b216aad509fc003cf4face238b9 (patch) | |
tree | bc06904c1f6b767e4080531638b6df2be4ff1186 | |
parent | 587fc727ad7bbb475d7663921e4f731de6e21857 (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.c | 19 |
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 */ |