Commit 5d580932 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ACPI fix from Rafael Wysocki:
 "Address a regression in ACPICA that ceased to clear the status of GPEs
  and fixed events before entering the ACPI S5 (off) system state during
  the 4.17 cycle which caused some systems to power up immediately after
  they had been turned off"

* tag 'acpi-4.18-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPICA: Clear status of all events when entering S5
parents 1e09177a fa85015c
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -51,16 +51,23 @@ acpi_status acpi_hw_legacy_sleep(u8 sleep_state)
		return_ACPI_STATUS(status);
	}

	/* Disable all GPEs */
	status = acpi_hw_disable_all_gpes();
	if (ACPI_FAILURE(status)) {
		return_ACPI_STATUS(status);
	}
	/*
	 * 1) Disable all GPEs
	 * 2) Enable all wakeup GPEs
	 * If the target sleep state is S5, clear all GPEs and fixed events too
	 */
	status = acpi_hw_disable_all_gpes();
	if (sleep_state == ACPI_STATE_S5) {
		status = acpi_hw_clear_acpi_status();
		if (ACPI_FAILURE(status)) {
			return_ACPI_STATUS(status);
		}
	}
	acpi_gbl_system_awake_and_running = FALSE;

	 /* Enable all wakeup GPEs */
	status = acpi_hw_enable_all_wakeup_gpes();
	if (ACPI_FAILURE(status)) {
		return_ACPI_STATUS(status);