diff options
author | Bob Moore <robert.moore@intel.com> | 2015-05-20 22:31:44 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-05-21 21:22:21 -0400 |
commit | 5b0bbfbd56118d2f5dca2b56ea47103470fa7aaa (patch) | |
tree | cbd02e4c5b232bcea34c6fb9af58e409b0ed8e66 | |
parent | 80fa6cf95e71d56333c89c92dbf74465a9505421 (diff) |
ACPICA: iASL/disassembler - fix possible fault for -e option.
ACPICA commit 403b8b0023fd7549b2f9bf818fcc1ba481047b69
If non-AML files are used with the -e option, the disassembler
can fault. The fix is to ensure that all -e files are either
SSDTs or a DSDT. ACPICA BZ 1158.
Link: https://github.com/acpica/acpica/commit/403b8b00
Reference: https://bugs.acpica.org/show_bug.cgi?id=1158
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>
-rw-r--r-- | drivers/acpi/acpica/acdebug.h | 4 | ||||
-rw-r--r-- | drivers/acpi/acpica/utfileio.c | 2 | ||||
-rw-r--r-- | drivers/acpi/acpica/utxferror.c | 11 |
3 files changed, 13 insertions, 4 deletions
diff --git a/drivers/acpi/acpica/acdebug.h b/drivers/acpi/acpica/acdebug.h index 4169bb87a996..43685dd36c77 100644 --- a/drivers/acpi/acpica/acdebug.h +++ b/drivers/acpi/acpica/acdebug.h | |||
@@ -231,7 +231,9 @@ void acpi_db_open_debug_file(char *name); | |||
231 | acpi_status acpi_db_load_acpi_table(char *filename); | 231 | acpi_status acpi_db_load_acpi_table(char *filename); |
232 | 232 | ||
233 | acpi_status | 233 | acpi_status |
234 | acpi_db_get_table_from_file(char *filename, struct acpi_table_header **table); | 234 | acpi_db_get_table_from_file(char *filename, |
235 | struct acpi_table_header **table, | ||
236 | u8 must_be_aml_table); | ||
235 | 237 | ||
236 | /* | 238 | /* |
237 | * dbhistry - debugger HISTORY command | 239 | * dbhistry - debugger HISTORY command |
diff --git a/drivers/acpi/acpica/utfileio.c b/drivers/acpi/acpica/utfileio.c index f72c53c05d64..857af824337b 100644 --- a/drivers/acpi/acpica/utfileio.c +++ b/drivers/acpi/acpica/utfileio.c | |||
@@ -312,7 +312,7 @@ acpi_ut_read_table_from_file(char *filename, struct acpi_table_header ** table) | |||
312 | /* Get the entire file */ | 312 | /* Get the entire file */ |
313 | 313 | ||
314 | fprintf(stderr, | 314 | fprintf(stderr, |
315 | "Loading Acpi table from file %10s - Length %.8u (%06X)\n", | 315 | "Reading ACPI table from file %10s - Length %.8u (0x%06X)\n", |
316 | filename, file_size, file_size); | 316 | filename, file_size, file_size); |
317 | 317 | ||
318 | status = acpi_ut_read_table(file, table, &table_length); | 318 | status = acpi_ut_read_table(file, table, &table_length); |
diff --git a/drivers/acpi/acpica/utxferror.c b/drivers/acpi/acpica/utxferror.c index 306e785f9418..98d578753101 100644 --- a/drivers/acpi/acpica/utxferror.c +++ b/drivers/acpi/acpica/utxferror.c | |||
@@ -107,9 +107,16 @@ acpi_exception(const char *module_name, | |||
107 | va_list arg_list; | 107 | va_list arg_list; |
108 | 108 | ||
109 | ACPI_MSG_REDIRECT_BEGIN; | 109 | ACPI_MSG_REDIRECT_BEGIN; |
110 | acpi_os_printf(ACPI_MSG_EXCEPTION "%s, ", | ||
111 | acpi_format_exception(status)); | ||
112 | 110 | ||
111 | /* For AE_OK, just print the message */ | ||
112 | |||
113 | if (ACPI_SUCCESS(status)) { | ||
114 | acpi_os_printf(ACPI_MSG_EXCEPTION); | ||
115 | |||
116 | } else { | ||
117 | acpi_os_printf(ACPI_MSG_EXCEPTION "%s, ", | ||
118 | acpi_format_exception(status)); | ||
119 | } | ||
113 | va_start(arg_list, format); | 120 | va_start(arg_list, format); |
114 | acpi_os_vprintf(format, arg_list); | 121 | acpi_os_vprintf(format, arg_list); |
115 | ACPI_MSG_SUFFIX; | 122 | ACPI_MSG_SUFFIX; |