]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ACPICA: Change exception code for LoadTable operator.
authorBob Moore <robert.moore@intel.com>
Mon, 31 Dec 2012 00:05:09 +0000 (00:05 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 10 Jan 2013 11:36:19 +0000 (12:36 +0100)
For the case where one of the input strings is too long,
change the returned exception code from AE_BAD_PARAMETER to
AE_AML_STRING_LIMIT.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/exconfig.c

index d0cc2a40edfb4a619de22d945bbf86fbe5348ff6..f214dbfc40475c2f09e5f0a72b6ef40e3121e9a1 100644 (file)
@@ -48,6 +48,7 @@
 #include "actables.h"
 #include "acdispat.h"
 #include "acevents.h"
+#include "amlcode.h"
 
 #define _COMPONENT          ACPI_EXECUTER
 ACPI_MODULE_NAME("exconfig")
@@ -166,7 +167,7 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state,
        if ((operand[0]->string.length > ACPI_NAME_SIZE) ||
            (operand[1]->string.length > ACPI_OEM_ID_SIZE) ||
            (operand[2]->string.length > ACPI_OEM_TABLE_ID_SIZE)) {
-               return_ACPI_STATUS(AE_BAD_PARAMETER);
+               return_ACPI_STATUS(AE_AML_STRING_LIMIT);
        }
 
        /* Find the ACPI table in the RSDT/XSDT */
@@ -213,8 +214,8 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state,
        /* parameter_path (optional parameter) */
 
        if (operand[4]->string.length > 0) {
-               if ((operand[4]->string.pointer[0] != '\\') &&
-                   (operand[4]->string.pointer[0] != '^')) {
+               if ((operand[4]->string.pointer[0] != AML_ROOT_PREFIX) &&
+                   (operand[4]->string.pointer[0] != AML_PARENT_PREFIX)) {
                        /*
                         * Path is not absolute, so it will be relative to the node
                         * referenced by the root_path_string (or the NS root if omitted)