From 35a6656205b5f4d529675c9d834bfed2b1f09f2d Mon Sep 17 00:00:00 2001 From: Lin Ming Date: Sat, 27 Sep 2008 10:38:07 +0800 Subject: [PATCH] --- yaml --- r: 117310 b: refs/heads/master c: 93851b4d13de48753eaae76ed190eef7355e2c19 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/acpi/namespace/nseval.c | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 53ca72bcf8e8..d89a5e6fdc66 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b68bacf225e5e9758472e99505d76125ced3ea88 +refs/heads/master: 93851b4d13de48753eaae76ed190eef7355e2c19 diff --git a/trunk/drivers/acpi/namespace/nseval.c b/trunk/drivers/acpi/namespace/nseval.c index 0a1ae670a847..42dae12f2ef8 100644 --- a/trunk/drivers/acpi/namespace/nseval.c +++ b/trunk/drivers/acpi/namespace/nseval.c @@ -148,21 +148,22 @@ acpi_status acpi_ns_evaluate(struct acpi_evaluate_info * info) info->param_count++; } - /* Error if too few arguments were passed in */ + /* + * Warning if too few or too many arguments have been passed by the + * caller. We don't want to abort here with an error because an + * incorrect number of arguments may not cause the method to fail. + * However, the method will fail if there are too few arguments passed + * and the method attempts to use one of the missing ones. + */ if (info->param_count < info->obj_desc->method.param_count) { - ACPI_ERROR((AE_INFO, + ACPI_WARNING((AE_INFO, "Insufficient arguments - " "method [%4.4s] needs %d, found %d", acpi_ut_get_node_name(info->resolved_node), info->obj_desc->method.param_count, info->param_count)); - return_ACPI_STATUS(AE_MISSING_ARGUMENTS); - } - - /* Just a warning if too many arguments */ - - else if (info->param_count > + } else if (info->param_count > info->obj_desc->method.param_count) { ACPI_WARNING((AE_INFO, "Excess arguments - "