summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/tbxfload.c
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2015-08-25 04:29:33 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-08-25 23:11:31 +0200
commit93cdafa071bd436596a0501fd43f4fab89c2be78 (patch)
tree5edd0ddc106f30a3fa46f390da15b3da41c0dc3d /drivers/acpi/acpica/tbxfload.c
parentACPICA: acpinames: Add new options and wildcard support (diff)
downloadlinux-93cdafa071bd436596a0501fd43f4fab89c2be78.tar.xz
linux-93cdafa071bd436596a0501fd43f4fab89c2be78.zip
ACPICA: acpiexec/acpinames: Support very large number of ACPI tables
ACPICA commit ca3bd4c5cdc39a9009280032adbbc20f34e94c47 Fix a couple of issues with >40 ACPI tables. Return exit error for acpinames to enable use with BIOS builds. The new exported function is used by acpinames. For Linux kernel, this change is a no-op. Link: https://github.com/acpica/acpica/commit/ca3bd4c5 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>
Diffstat (limited to 'drivers/acpi/acpica/tbxfload.c')
-rw-r--r--drivers/acpi/acpica/tbxfload.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/drivers/acpi/acpica/tbxfload.c b/drivers/acpi/acpica/tbxfload.c
index fb4d4e64f8aa..96b82a818d76 100644
--- a/drivers/acpi/acpica/tbxfload.c
+++ b/drivers/acpi/acpica/tbxfload.c
@@ -51,9 +51,6 @@
#define _COMPONENT ACPI_TABLES
ACPI_MODULE_NAME("tbxfload")
-/* Local prototypes */
-static acpi_status acpi_tb_load_namespace(void);
-
/*******************************************************************************
*
* FUNCTION: acpi_load_tables
@@ -65,7 +62,6 @@ static acpi_status acpi_tb_load_namespace(void);
* DESCRIPTION: Load the ACPI tables from the RSDT/XSDT
*
******************************************************************************/
-
acpi_status __init acpi_load_tables(void)
{
acpi_status status;
@@ -75,6 +71,13 @@ acpi_status __init acpi_load_tables(void)
/* Load the namespace from the tables */
status = acpi_tb_load_namespace();
+
+ /* Don't let single failures abort the load */
+
+ if (status == AE_CTRL_TERMINATE) {
+ status = AE_OK;
+ }
+
if (ACPI_FAILURE(status)) {
ACPI_EXCEPTION((AE_INFO, status,
"While loading namespace from ACPI tables"));
@@ -97,7 +100,7 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_load_tables)
* the RSDT/XSDT.
*
******************************************************************************/
-static acpi_status acpi_tb_load_namespace(void)
+acpi_status acpi_tb_load_namespace(void)
{
acpi_status status;
u32 i;
@@ -214,6 +217,10 @@ static acpi_status acpi_tb_load_namespace(void)
ACPI_ERROR((AE_INFO,
"%u ACPI AML tables successfully acquired and loaded, %u failed",
tables_loaded, tables_failed));
+
+ /* Indicate at least one failure */
+
+ status = AE_CTRL_TERMINATE;
}
unlock_and_exit: