[PATCH 2/3] ACPICA: Keep track of method changes to namespace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Try to delete nodes from namespace only if method really added them

Signed-off-by: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
---

 source/components/dispatcher/dsmethod.c |    5 ++++-
 source/components/namespace/nsalloc.c   |    4 ++++
 source/include/acobject.h               |    1 +
 3 files changed, 9 insertions(+), 1 deletions(-)


diff --git a/source/components/dispatcher/dsmethod.c b/source/components/dispatcher/dsmethod.c
index 969c9ca..fe7a9a8 100644
--- a/source/components/dispatcher/dsmethod.c
+++ b/source/components/dispatcher/dsmethod.c
@@ -700,7 +700,10 @@ AcpiDsTerminateControlMethod (
          */
         if (!(MethodDesc->Method.Flags & AOPOBJ_MODULE_LEVEL))
         {
-            AcpiNsDeleteNamespaceByOwner (MethodDesc->Method.OwnerId);
+            if (MethodDesc->Method.UsesNamespace)
+            {
+                AcpiNsDeleteNamespaceByOwner (MethodDesc->Method.OwnerId);
+            }
         }
     }
 
diff --git a/source/components/namespace/nsalloc.c b/source/components/namespace/nsalloc.c
index aadafbf..16bcdd3 100644
--- a/source/components/namespace/nsalloc.c
+++ b/source/components/namespace/nsalloc.c
@@ -343,6 +343,10 @@ AcpiNsInstallNode (
     if (WalkState)
     {
         OwnerId = WalkState->OwnerId;
+        if (WalkState->MethodDesc)
+        {
+            WalkState->MethodDesc->Method.UsesNamespace = 1;
+        }
     }
 
     /* Link the new entry into the parent and existing children */
diff --git a/source/include/acobject.h b/source/include/acobject.h
index f86f839..502132a 100644
--- a/source/include/acobject.h
+++ b/source/include/acobject.h
@@ -296,6 +296,7 @@ typedef struct acpi_object_method
 
     UINT32                          AmlLength;
     UINT8                           ThreadCount;
+    UINT8                           UsesNamespace;
     ACPI_OWNER_ID                   OwnerId;
 
 } ACPI_OBJECT_METHOD;

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux