]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
ACPI: EC: PM: Flush EC work unconditionally after wakeup
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 5 Oct 2020 17:13:15 +0000 (19:13 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Thu, 10 Dec 2020 11:03:06 +0000 (12:03 +0100)
BugLink: https://bugs.launchpad.net/bugs/1904450
commit 5e92442bb4121562231e6daf8a2d1306cb5f8805 upstream.

Commit 607b9df63057 ("ACPI: EC: PM: Avoid flushing EC work when EC
GPE is inactive") has been reported to cause some power button wakeup
events to be missed on some systems, so modify acpi_ec_dispatch_gpe()
to call acpi_ec_flush_work() unconditionally to effectively reverse
the changes made by that commit.

Also note that the problem which prompted commit 607b9df63057 is not
reproducible any more on the affected machine.

Fixes: 607b9df63057 ("ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive")
Reported-by: Raymond Tan <raymond.tan@intel.com>
Cc: 5.4+ <stable@vger.kernel.org> # 5.4+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: William Breathitt Gray <william.gray@canonical.com>
drivers/acpi/ec.c

index 84421917d7c4cef541017df714bca1c93dea391c..ead62bc6307fdeb7b34012f068b3e1faa0f43142 100644 (file)
@@ -2062,12 +2062,11 @@ bool acpi_ec_dispatch_gpe(void)
         * to allow the caller to process events properly after that.
         */
        ret = acpi_dispatch_gpe(NULL, first_ec->gpe);
-       if (ret == ACPI_INTERRUPT_HANDLED) {
+       if (ret == ACPI_INTERRUPT_HANDLED)
                pm_pr_dbg("EC GPE dispatched\n");
 
-               /* Flush the event and query workqueues. */
-               acpi_ec_flush_work();
-       }
+       /* Flush the event and query workqueues. */
+       acpi_ec_flush_work();
 
        return false;
 }