diff options
| author | Jung-uk Kim <jkim@FreeBSD.org> | 2013-07-26 18:20:00 +0000 | 
|---|---|---|
| committer | Jung-uk Kim <jkim@FreeBSD.org> | 2013-07-26 18:20:00 +0000 | 
| commit | dbded195f9840f9044a6828c8877c6bf0a956482 (patch) | |
| tree | e05da15a04629f6e36af5ca6c81a2efda47a9dc3 /source/components/namespace/nspredef.c | |
| parent | 94c37fb2483cc09856a30e74879a69f2ccfe22f0 (diff) | |
Diffstat (limited to 'source/components/namespace/nspredef.c')
| -rw-r--r-- | source/components/namespace/nspredef.c | 18 | 
1 files changed, 17 insertions, 1 deletions
diff --git a/source/components/namespace/nspredef.c b/source/components/namespace/nspredef.c index 7122e7accbe14..7b7e3e34fd501 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",  | 
