diff options
Diffstat (limited to 'source/components/executer/exresolv.c')
-rw-r--r-- | source/components/executer/exresolv.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/source/components/executer/exresolv.c b/source/components/executer/exresolv.c index d0c8c8a8daf4..64771922d919 100644 --- a/source/components/executer/exresolv.c +++ b/source/components/executer/exresolv.c @@ -493,12 +493,26 @@ AcpiExResolveMultiple ( (ACPI_NAMESPACE_NODE *) ObjDesc); } - if (!ObjDesc) + switch (Type) { - ACPI_ERROR ((AE_INFO, - "[%4.4s] Node is unresolved or uninitialized", - AcpiUtGetNodeName (Node))); - return_ACPI_STATUS (AE_AML_UNINITIALIZED_NODE); + case ACPI_TYPE_DEVICE: + case ACPI_TYPE_THERMAL: + + /* These types have no attached subobject */ + break; + + default: + + /* All other types require a subobject */ + + if (!ObjDesc) + { + ACPI_ERROR ((AE_INFO, + "[%4.4s] Node is unresolved or uninitialized", + AcpiUtGetNodeName (Node))); + return_ACPI_STATUS (AE_AML_UNINITIALIZED_NODE); + } + break; } break; |