Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d551d81d authored by Rafael J. Wysocki's avatar Rafael J. Wysocki Committed by Linus Torvalds
Browse files

ACPI / PM: Call suspend_nvs_free() earlier during resume



It turns out that some device drivers map pages from the ACPI NVS region
during resume using ioremap(), which conflicts with ioremap_cache() used
for mapping those pages by the NVS save/restore code in nvs.c.

Make the NVS pages mapped by the code in nvs.c be unmapped before device
drivers' resume routines run.

Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 2d6d9fd3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@ static void acpi_pm_finish(void)
	u32 acpi_state = acpi_target_sleep_state;

	acpi_ec_unblock_transactions();
	suspend_nvs_free();

	if (acpi_state == ACPI_STATE_S0)
		return;
@@ -186,7 +187,6 @@ static void acpi_pm_finish(void)
 */
static void acpi_pm_end(void)
{
	suspend_nvs_free();
	/*
	 * This is necessary in case acpi_pm_finish() is not called during a
	 * failing transition to a sleep state.