Now as GPE poller is implemented, EC driver is able to detect EC events
during suspend/resume noirq stages, we can try to move EC event handling
earlier without being worried about post-resume event stuck.

Signed-off-by: Lv Zheng <lv.zh...@intel.com>
---
 drivers/acpi/ec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index f1cffd4..5f951ba 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -1004,7 +1004,9 @@ static void acpi_ec_start(struct acpi_ec *ec, bool 
resuming)
                if (!resuming) {
                        acpi_ec_submit_request(ec);
                        ec_dbg_ref(ec, "Increase driver");
-               }
+               } else if (!ec_freeze_events &&
+                          ec_gpe_polling == ACPI_EC_GPE_POLL_RESUME)
+                       __acpi_ec_enable_event(ec);
                ec_log_drv("EC started");
        }
        spin_unlock_irqrestore(&ec->lock, flags);
-- 
2.7.4

Reply via email to