ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 25 Mar 2020 10:54:29 +0000 (11:54 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 25 Mar 2020 11:57:27 +0000 (12:57 +0100)
commit0ce792d660bda990c675eaf14ce09594a9b85cbf
treead2f6424591b3aed57ee2ce8ce8e0927c0ebcf94
parent243a98894dc525ad2fbeb608722fcb682be3186d
ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE

The check carried out by acpi_any_gpe_status_set() is not precise enough
for the suspend-to-idle implementation in Linux and in some cases it is
necessary make it skip one GPE (specifically, the EC GPE) from the check
to prevent a race condition leading to a premature system resume from
occurring.

For this reason, redefine acpi_any_gpe_status_set() to take the number
of a GPE to skip as an argument.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=206629
Tested-by: Ondřej Caletka <ondrej@caletka.cz>
Cc: 5.4+ <stable@vger.kernel.org> # 5.4+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/achware.h
drivers/acpi/acpica/evxfgpe.c
drivers/acpi/acpica/hwgpe.c
drivers/acpi/sleep.c
include/acpi/acpixf.h