summaryrefslogtreecommitdiff
path: root/source/components/namespace/nspredef.c
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2013-07-26 18:20:00 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2013-07-26 18:20:00 +0000
commitdbded195f9840f9044a6828c8877c6bf0a956482 (patch)
treee05da15a04629f6e36af5ca6c81a2efda47a9dc3 /source/components/namespace/nspredef.c
parent94c37fb2483cc09856a30e74879a69f2ccfe22f0 (diff)
Notes
Diffstat (limited to 'source/components/namespace/nspredef.c')
-rw-r--r--source/components/namespace/nspredef.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/source/components/namespace/nspredef.c b/source/components/namespace/nspredef.c
index 7122e7accbe1..7b7e3e34fd50 100644
--- a/source/components/namespace/nspredef.c
+++ b/source/components/namespace/nspredef.c
@@ -166,6 +166,16 @@ AcpiNsCheckReturnValue (
}
/*
+ *
+ * 4) If there is no return value and it is optional, just return
+ * AE_OK (_WAK).
+ */
+ if (!(*ReturnObjectPtr))
+ {
+ goto Exit;
+ }
+
+ /*
* For returned Package objects, check the type of all sub-objects.
* Note: Package may have been newly created by call above.
*/
@@ -293,7 +303,13 @@ TypeErrorExit:
AcpiUtGetExpectedReturnTypes (TypeBuffer, ExpectedBtypes);
- if (PackageIndex == ACPI_NOT_PACKAGE_ELEMENT)
+ if (!ReturnObject)
+ {
+ ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname, Info->NodeFlags,
+ "Expected return object of type %s",
+ TypeBuffer));
+ }
+ else if (PackageIndex == ACPI_NOT_PACKAGE_ELEMENT)
{
ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname, Info->NodeFlags,
"Return type mismatch - found %s, expected %s",