ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake()
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 21 Feb 2020 00:46:18 +0000 (01:46 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Feb 2020 16:22:20 +0000 (17:22 +0100)
commit7b77e5a082247f85ec8ed7f1555f83751ea750c9
tree4b8e3530609da2853c94092c9d2100973e533dca
parentf18121a59b5ae07a6b2f7d089200196c3add8512
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>
drivers/acpi/acpica/evevent.c
drivers/acpi/sleep.c
include/acpi/acpixf.h