diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-01-30 09:00:02 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-01-30 09:00:02 +0100 |
commit | 858a0d7eb5300b5f620d98ab3c4b96c9d5f19131 (patch) | |
tree | 79ad2ecb357183384b172155e44df71c86e24e49 /drivers/acpi/acpica/exconfig.c | |
parent | Revert "PM / sleep / ACPI: Use the ACPI_FADT_LOW_POWER_S0 flag" (diff) | |
parent | PM / Hibernate: Use rb_entry() instead of container_of() (diff) | |
download | linux-858a0d7eb5300b5f620d98ab3c4b96c9d5f19131.tar.xz linux-858a0d7eb5300b5f620d98ab3c4b96c9d5f19131.zip |
Merge back earlier suspend/hibernation changes for v4.11.
Diffstat (limited to 'drivers/acpi/acpica/exconfig.c')
-rw-r--r-- | drivers/acpi/acpica/exconfig.c | 42 |
1 files changed, 4 insertions, 38 deletions
diff --git a/drivers/acpi/acpica/exconfig.c b/drivers/acpi/acpica/exconfig.c index 718428ba0b89..c32c7829878a 100644 --- a/drivers/acpi/acpica/exconfig.c +++ b/drivers/acpi/acpica/exconfig.c @@ -437,10 +437,9 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc, ACPI_INFO(("Dynamic OEM Table Load:")); acpi_ex_exit_interpreter(); - status = - acpi_tb_install_and_load_table(table, ACPI_PTR_TO_PHYSADDR(table), - ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL, - TRUE, &table_index); + status = acpi_tb_install_and_load_table(ACPI_PTR_TO_PHYSADDR(table), + ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL, + TRUE, &table_index); acpi_ex_enter_interpreter(); if (ACPI_FAILURE(status)) { @@ -500,7 +499,6 @@ acpi_status acpi_ex_unload_table(union acpi_operand_object *ddb_handle) acpi_status status = AE_OK; union acpi_operand_object *table_desc = ddb_handle; u32 table_index; - struct acpi_table_header *table; ACPI_FUNCTION_TRACE(ex_unload_table); @@ -537,39 +535,7 @@ acpi_status acpi_ex_unload_table(union acpi_operand_object *ddb_handle) * strict order requirement against it. */ acpi_ex_exit_interpreter(); - - /* Ensure the table is still loaded */ - - if (!acpi_tb_is_table_loaded(table_index)) { - status = AE_NOT_EXIST; - goto lock_and_exit; - } - - /* Invoke table handler if present */ - - if (acpi_gbl_table_handler) { - status = acpi_get_table_by_index(table_index, &table); - if (ACPI_SUCCESS(status)) { - (void)acpi_gbl_table_handler(ACPI_TABLE_EVENT_UNLOAD, - table, - acpi_gbl_table_handler_context); - } - } - - /* Delete the portion of the namespace owned by this table */ - - status = acpi_tb_delete_namespace_by_owner(table_index); - if (ACPI_FAILURE(status)) { - goto lock_and_exit; - } - - (void)acpi_tb_release_owner_id(table_index); - acpi_tb_set_table_loaded_flag(table_index, FALSE); - -lock_and_exit: - - /* Re-acquire the interpreter lock */ - + status = acpi_tb_unload_table(table_index); acpi_ex_enter_interpreter(); /* |