From b3770c1caa95b37338ce236d3c3611fb50eb4cca Mon Sep 17 00:00:00 2001 From: Bob Moore Date: Sat, 27 Sep 2008 10:29:31 +0800 Subject: [PATCH] --- yaml --- r: 117309 b: refs/heads/master c: b68bacf225e5e9758472e99505d76125ced3ea88 h: refs/heads/master i: 117307: cfc0474de9597abcf6f5a8648e5850bad7375ec9 v: v3 --- [refs] | 2 +- trunk/drivers/acpi/namespace/nseval.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 5ce45b02e439..53ca72bcf8e8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 65f4692c5220330e1ea044796c4cfa603e349c84 +refs/heads/master: b68bacf225e5e9758472e99505d76125ced3ea88 diff --git a/trunk/drivers/acpi/namespace/nseval.c b/trunk/drivers/acpi/namespace/nseval.c index d369164e00b0..0a1ae670a847 100644 --- a/trunk/drivers/acpi/namespace/nseval.c +++ b/trunk/drivers/acpi/namespace/nseval.c @@ -195,7 +195,28 @@ acpi_status acpi_ns_evaluate(struct acpi_evaluate_info * info) } else { /* * 2) Object is not a method, return its current value + * + * Disallow certain object types. For these, "evaluation" is undefined. */ + switch (info->resolved_node->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->resolved_node->name.ascii, + acpi_ut_get_type_name(info->resolved_node-> + type))); + + return_ACPI_STATUS(AE_TYPE); + + default: + break; + } /* * Objects require additional resolution steps (e.g., the Node may be