From 77ef7c0c379a0c073695808acd1b313b1d502cef Mon Sep 17 00:00:00 2001 From: aystarik Date: Wed, 29 Jun 2005 18:20:03 +0000 Subject: [PATCH] Alphabetic namespace sort causes side-effects date 2002.10.31.22.13.00; author rmoore1; state Exp; --- source/components/namespace/nsalloc.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/source/components/namespace/nsalloc.c b/source/components/namespace/nsalloc.c index c78ddc85e..5d8b01296 100644 --- a/source/components/namespace/nsalloc.c +++ b/source/components/namespace/nsalloc.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: nsalloc - Namespace allocation and deletion utilities - * $Revision: 1.76 $ + * $Revision: 1.77 $ * ******************************************************************************/ @@ -223,6 +223,7 @@ AcpiNsDeleteNode ( } +#ifdef ACPI_ALPHABETIC_NAMESPACE /******************************************************************************* * * FUNCTION: AcpiNsCompareNames @@ -273,6 +274,7 @@ AcpiNsCompareNames ( return (*(int *) ReversedName1 - *(int *) ReversedName2); } +#endif /******************************************************************************* @@ -305,7 +307,10 @@ AcpiNsInstallNode ( { UINT16 OwnerId = TABLE_ID_DSDT; ACPI_NAMESPACE_NODE *ChildNode; +#ifdef ACPI_ALPHABETIC_NAMESPACE + ACPI_NAMESPACE_NODE *PreviousChildNode; +#endif ACPI_FUNCTION_TRACE ("NsInstallNode"); @@ -332,6 +337,7 @@ AcpiNsInstallNode ( } else { +#ifdef ACPI_ALPHABETIC_NAMESPACE /* * Walk the list whilst searching for the the correct * alphabetic placement. @@ -385,6 +391,20 @@ AcpiNsInstallNode ( ParentNode->Child = Node; } } +#else + while (!(ChildNode->Flags & ANOBJ_END_OF_PEER_LIST)) + { + ChildNode = ChildNode->Peer; + } + + ChildNode->Peer = Node; + + /* Clear end-of-list flag */ + + ChildNode->Flags &= ~ANOBJ_END_OF_PEER_LIST; + Node->Flags |= ANOBJ_END_OF_PEER_LIST; + Node->Peer = ParentNode; +#endif } /* Init the new entry */