summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWendly Li <wendlyli@google.com>2023-04-17 14:20:42 +0000
committerWendly Li <wendlyli@google.com>2023-04-17 14:20:45 +0000
commit478cbf17ce01297c08e17f96216552ff1d4b5f93 (patch)
treee7674a6886b5a1cfb6d2e22e3afc1148f191ec24
parent8c71ec49139f9c39648cad70c841a088f7e4ce64 (diff)
downloadgoodix_touch-478cbf17ce01297c08e17f96216552ff1d4b5f93.tar.gz
touch/goodix: Fix deadlock between irq and wakelock
Bug: 277847808 Test: Check touch works properly Change-Id: I91f64e48efd67bdabaa64134e8e395a351d23728 Signed-off-by: Wendly Li <wendlyli@google.com>
-rw-r--r--goodix_ts_core.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/goodix_ts_core.c b/goodix_ts_core.c
index dc3d7cb..93451f4 100644
--- a/goodix_ts_core.c
+++ b/goodix_ts_core.c
@@ -2486,7 +2486,11 @@ static int goodix_ts_resume(struct goodix_ts_core *core_data)
goodix_set_pinctrl_state(core_data, PINCTRL_MODE_ACTIVE); /* [GOOG] */
atomic_set(&core_data->suspended, 0);
- hw_ops->irq_enable(core_data, false);
+ /* [GOOG]
+ * This will cause a deadlock with wakelock. Since we already disable irq
+ * when touch is suspended, we don't need to disable irq here again.
+ */
+ //hw_ops->irq_enable(core_data, false);
/* [GOOG] */
if (check_gesture_mode(core_data)) {