diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2020-02-21 01:46:18 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-02-28 17:22:20 +0100 |
commit | 7b77e5a082247f85ec8ed7f1555f83751ea750c9 (patch) | |
tree | 4b8e3530609da2853c94092c9d2100973e533dca /include | |
parent | f18121a59b5ae07a6b2f7d089200196c3add8512 (diff) | |
download | linux-stable-7b77e5a082247f85ec8ed7f1555f83751ea750c9.tar.gz linux-stable-7b77e5a082247f85ec8ed7f1555f83751ea750c9.tar.bz2 linux-stable-7b77e5a082247f85ec8ed7f1555f83751ea750c9.zip |
ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake()
commit 63fb9623427fbb44e3782233b6e4714057b76ff2 upstream.
Commit fdde0ff8590b ("ACPI: PM: s2idle: Prevent spurious SCIs from
waking up the system") overlooked the fact that fixed events can wake
up the system too and broke RTC wakeup from suspend-to-idle as a
result.
Fix this issue by checking the fixed events in acpi_s2idle_wake() in
addition to checking wakeup GPEs and break out of the suspend-to-idle
loop if the status bits of any enabled fixed events are set then.
Fixes: fdde0ff8590b ("ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system")
Reported-and-tested-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: 5.4+ <stable@vger.kernel.org> # 5.4+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/acpi/acpixf.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h index d1fdf26ccb33..4010c42e40bd 100644 --- a/include/acpi/acpixf.h +++ b/include/acpi/acpixf.h @@ -749,6 +749,7 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_disable_all_gpes(void)) ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable_all_runtime_gpes(void)) ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable_all_wakeup_gpes(void)) ACPI_HW_DEPENDENT_RETURN_UINT32(u32 acpi_any_gpe_status_set(void)) +ACPI_HW_DEPENDENT_RETURN_UINT32(u32 acpi_any_fixed_event_status_set(void)) ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_get_gpe_device(u32 gpe_index, |