aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/tbutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/acpica/tbutils.c')
-rw-r--r--drivers/acpi/acpica/tbutils.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/acpi/acpica/tbutils.c b/drivers/acpi/acpica/tbutils.c
index 9b6992d8578f..c61432fa4332 100644
--- a/drivers/acpi/acpica/tbutils.c
+++ b/drivers/acpi/acpica/tbutils.c
@@ -178,7 +178,7 @@ struct acpi_table_header *acpi_tb_copy_dsdt(u32 table_index)
178 } 178 }
179 179
180 ACPI_MEMCPY(new_table, table_desc->pointer, table_desc->length); 180 ACPI_MEMCPY(new_table, table_desc->pointer, table_desc->length);
181 acpi_tb_delete_table(table_desc); 181 acpi_tb_uninstall_table(table_desc);
182 table_desc->address = ACPI_PTR_TO_PHYSADDR(new_table); 182 table_desc->address = ACPI_PTR_TO_PHYSADDR(new_table);
183 table_desc->pointer = new_table; 183 table_desc->pointer = new_table;
184 table_desc->flags = ACPI_TABLE_ORIGIN_ALLOCATED; 184 table_desc->flags = ACPI_TABLE_ORIGIN_ALLOCATED;
@@ -268,7 +268,7 @@ acpi_tb_install_table(acpi_physical_address address,
268 * fully mapped later (in verify table). In any case, we must 268 * fully mapped later (in verify table). In any case, we must
269 * unmap the header that was mapped above. 269 * unmap the header that was mapped above.
270 */ 270 */
271 final_table = acpi_tb_table_override(table, table_desc); 271 final_table = acpi_tb_override_table(table, table_desc);
272 if (!final_table) { 272 if (!final_table) {
273 final_table = table; /* There was no override */ 273 final_table = table; /* There was no override */
274 } 274 }
@@ -290,7 +290,12 @@ acpi_tb_install_table(acpi_physical_address address,
290 * flag set and will not be deleted below. 290 * flag set and will not be deleted below.
291 */ 291 */
292 if (final_table != table) { 292 if (final_table != table) {
293 acpi_tb_delete_table(table_desc); 293 /*
294 * Table is in "INSTALLED" state, the final_table pointer is not
295 * maintained in the root table list.
296 */
297 acpi_tb_release_table(final_table, table_desc->length,
298 table_desc->flags);
294 } 299 }
295 300
296unmap_and_exit: 301unmap_and_exit: