diff options
Diffstat (limited to 'source/components/namespace/nsobject.c')
-rw-r--r-- | source/components/namespace/nsobject.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/components/namespace/nsobject.c b/source/components/namespace/nsobject.c index a26ccc6..3317591 100644 --- a/source/components/namespace/nsobject.c +++ b/source/components/namespace/nsobject.c @@ -247,14 +247,19 @@ AcpiNsDetachObject ( } } - /* Clear the entry in all cases */ + /* Clear the Node entry in all cases */ Node->Object = NULL; if (ACPI_GET_DESCRIPTOR_TYPE (ObjDesc) == ACPI_DESC_TYPE_OPERAND) { + /* Unlink object from front of possible object list */ + Node->Object = ObjDesc->Common.NextObject; + + /* Handle possible 2-descriptor object */ + if (Node->Object && - ((Node->Object)->Common.Type != ACPI_TYPE_LOCAL_DATA)) + (Node->Object->Common.Type != ACPI_TYPE_LOCAL_DATA)) { Node->Object = Node->Object->Common.NextObject; } |