aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2015-05-20 22:31:44 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-05-21 21:22:21 -0400
commit5b0bbfbd56118d2f5dca2b56ea47103470fa7aaa (patch)
treecbd02e4c5b232bcea34c6fb9af58e409b0ed8e66
parent80fa6cf95e71d56333c89c92dbf74465a9505421 (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.h4
-rw-r--r--drivers/acpi/acpica/utfileio.c2
-rw-r--r--drivers/acpi/acpica/utxferror.c11
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);
231acpi_status acpi_db_load_acpi_table(char *filename); 231acpi_status acpi_db_load_acpi_table(char *filename);
232 232
233acpi_status 233acpi_status
234acpi_db_get_table_from_file(char *filename, struct acpi_table_header **table); 234acpi_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;