OSDN Git Service

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)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 21 Feb 2020 18:01:25 +0000 (10:01 -0800)
commit63fb9623427fbb44e3782233b6e4714057b76ff2
tree6659a2f1e164368abeb538c677e1f63634fc7c54
parentebe7acadf5a9c4b67475e766e0e80ae6a2a79c61
ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake()

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>
drivers/acpi/acpica/evevent.c
drivers/acpi/sleep.c
include/acpi/acpixf.h