Skip to content

Commit 561e91e

Browse files
committed
Revert "ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE"
This reverts commit 48e4130 which is commit dc0075b upstream. It's been reported to cause problems with a number of Fedora and Arch Linux users, so drop it for now until that is resolved. Link: https://lore.kernel.org/r/CAJZ5v0gE52NT=4kN4MkhV3Gx=M5CeMGVHOF0jgTXDb5WwAMs_Q@mail.gmail.com Link: https://lore.kernel.org/r/31b9d1cd-6a67-218b-4ada-12f72e6f00dc@redhat.com Reported-by: Hans de Goede <hdegoede@redhat.com> Reported-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Sasha Levin <sashal@kernel.org> Cc: Justin Forbes <jmforbes@linuxtx.org> Cc: Mark Pearson <markpearson@lenovo.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 206c8e2 commit 561e91e

2 files changed

Lines changed: 10 additions & 14 deletions

File tree

drivers/acpi/ec.c

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2064,16 +2064,6 @@ bool acpi_ec_dispatch_gpe(void)
20642064
if (acpi_any_gpe_status_set(first_ec->gpe))
20652065
return true;
20662066

2067-
/*
2068-
* Cancel the SCI wakeup and process all pending events in case there
2069-
* are any wakeup ones in there.
2070-
*
2071-
* Note that if any non-EC GPEs are active at this point, the SCI will
2072-
* retrigger after the rearming in acpi_s2idle_wake(), so no events
2073-
* should be missed by canceling the wakeup here.
2074-
*/
2075-
pm_system_cancel_wakeup();
2076-
20772067
/*
20782068
* Dispatch the EC GPE in-band, but do not report wakeup in any case
20792069
* to allow the caller to process events properly after that.

drivers/acpi/sleep.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1012,15 +1012,21 @@ static bool acpi_s2idle_wake(void)
10121012
return true;
10131013
}
10141014

1015-
/*
1016-
* Check non-EC GPE wakeups and if there are none, cancel the
1017-
* SCI-related wakeup and dispatch the EC GPE.
1018-
*/
1015+
/* Check non-EC GPE wakeups and dispatch the EC GPE. */
10191016
if (acpi_ec_dispatch_gpe()) {
10201017
pm_pr_dbg("ACPI non-EC GPE wakeup\n");
10211018
return true;
10221019
}
10231020

1021+
/*
1022+
* Cancel the SCI wakeup and process all pending events in case
1023+
* there are any wakeup ones in there.
1024+
*
1025+
* Note that if any non-EC GPEs are active at this point, the
1026+
* SCI will retrigger after the rearming below, so no events
1027+
* should be missed by canceling the wakeup here.
1028+
*/
1029+
pm_system_cancel_wakeup();
10241030
acpi_os_wait_events_complete();
10251031

10261032
/*

0 commit comments

Comments
 (0)