summaryrefslogtreecommitdiffstats
path: root/source/common
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2013-11-15 20:40:27 +0000
committerjkim <jkim@FreeBSD.org>2013-11-15 20:40:27 +0000
commita1672476f94b0c9ac84a682574aeb1eb481c484c (patch)
tree393e1854c22739c2db6213f80e859a02e4223818 /source/common
parentf4a31baa14e08b26c3b63f02571280c872cabe90 (diff)
downloadFreeBSD-src-a1672476f94b0c9ac84a682574aeb1eb481c484c.zip
FreeBSD-src-a1672476f94b0c9ac84a682574aeb1eb481c484c.tar.gz
Import ACPICA 20131115.
Diffstat (limited to 'source/common')
-rw-r--r--source/common/adfile.c4
-rw-r--r--source/common/adwalk.c19
2 files changed, 14 insertions, 9 deletions
diff --git a/source/common/adfile.c b/source/common/adfile.c
index 48ff89f..dd5abee 100644
--- a/source/common/adfile.c
+++ b/source/common/adfile.c
@@ -329,6 +329,7 @@ FlSplitInputPathname (
if (!Filename)
{
+ ACPI_FREE (DirectoryPath);
return (AE_NO_MEMORY);
}
@@ -337,6 +338,9 @@ FlSplitInputPathname (
if (OutFilename)
{
*OutFilename = Filename;
+ return (AE_OK);
}
+
+ ACPI_FREE (Filename);
return (AE_OK);
}
diff --git a/source/common/adwalk.c b/source/common/adwalk.c
index 2fb42fd..5b04859 100644
--- a/source/common/adwalk.c
+++ b/source/common/adwalk.c
@@ -820,17 +820,18 @@ AcpiDmXrefDescendingOp (
{
if (Status == AE_NOT_FOUND)
{
- AcpiDmAddToExternalList (Op, Path, (UINT8) ObjectType, 0);
-
/*
- * We could install this into the namespace, but we catch duplicate
- * externals when they are added to the list.
+ * Add this symbol as an external declaration, except if the
+ * parent is a CondRefOf operator. For this operator, we do not
+ * need an external, nor do we want one, since this can cause
+ * disassembly problems if the symbol is actually a control
+ * method.
*/
-#if 0
- Status = AcpiNsLookup (WalkState->ScopeInfo, Path, ACPI_TYPE_ANY,
- ACPI_IMODE_LOAD_PASS1, ACPI_NS_DONT_OPEN_SCOPE,
- WalkState, &Node);
-#endif
+ if (!(Op->Asl.Parent &&
+ (Op->Asl.Parent->Asl.AmlOpcode == AML_COND_REF_OF_OP)))
+ {
+ AcpiDmAddToExternalList (Op, Path, (UINT8) ObjectType, 0);
+ }
}
}
OpenPOWER on IntegriCloud