Disallow evaluation of named object types with no value.

Return AE_TYPE for objects that have no value and therefore evaluation
is undefined: Device, Event, Mutex, Region, Thermal, and Scope.
This commit is contained in:
Robert Moore 2008-08-08 12:17:59 -07:00 committed by Ming M. Lin
parent d9c19f3cb1
commit f2d758c956

View File

@ -277,7 +277,28 @@ AcpiNsEvaluate (
{
/*
* 2) Object is not a method, return its current value
*
* Disallow certain object types. For these, "evaluation" is undefined.
*/
switch (Info->ResolvedNode->Type)
{
case ACPI_TYPE_DEVICE:
case ACPI_TYPE_EVENT:
case ACPI_TYPE_MUTEX:
case ACPI_TYPE_REGION:
case ACPI_TYPE_THERMAL:
case ACPI_TYPE_LOCAL_SCOPE:
ACPI_ERROR ((AE_INFO,
"[%4.4s] Evaluation of object type [%s] is not supported",
Info->ResolvedNode->Name.Ascii,
AcpiUtGetTypeName (Info->ResolvedNode->Type)));
return_ACPI_STATUS (AE_TYPE);
default:
break;
}
/*
* Objects require additional resolution steps (e.g., the Node may be