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

Commit 979f11b0 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

ACPI / PM: Call acpi_save_state_mem() right before low-level suspend



Since acpi_save_state_mem() is only called by acpi_suspend_enter()
if the target sleep state is S3, it's better to call it under the
switch (acpi_state), right before do_suspend_lowlevel().

Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
parent 7a63f08b
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -244,17 +244,10 @@ static int acpi_suspend_enter(suspend_state_t pm_state)
{
	acpi_status status = AE_OK;
	u32 acpi_state = acpi_target_sleep_state;
	int error;

	ACPI_FLUSH_CPU_CACHE();

	/* Do arch specific saving of state. */
	if (acpi_state == ACPI_STATE_S3) {
		int error = acpi_save_state_mem();

		if (error)
			return error;
	}

	switch (acpi_state) {
	case ACPI_STATE_S1:
		barrier();
@@ -262,6 +255,9 @@ static int acpi_suspend_enter(suspend_state_t pm_state)
		break;

	case ACPI_STATE_S3:
		error = acpi_save_state_mem();
		if (error)
			return error;
		do_suspend_lowlevel();
		pr_info(PREFIX "Low-level resume complete\n");
		break;