diff options
author | Ravi Jain <raviajain@google.com> | 2022-12-06 09:32:34 +0000 |
---|---|---|
committer | Android Partner Code Review <android-gerrit-partner@google.com> | 2022-12-06 09:32:34 +0000 |
commit | 23f746a78e7081741677a30eec3a62df2e4fac76 (patch) | |
tree | d3f28218759d639fd7da9e64a48b535a02af9d20 /goodix_ts_core.c | |
parent | f513b970e0473db577afe9bba02e2cd8327eb270 (diff) | |
parent | b8701900bbc56e52f8c1f381aecbd53017174881 (diff) | |
download | goodix_touch-23f746a78e7081741677a30eec3a62df2e4fac76.tar.gz |
Merge "touch: goodix: Fix deadlock between irq and wakelock" into android13-gs-pixel-5.10-tm-qpr2
Diffstat (limited to 'goodix_ts_core.c')
-rw-r--r-- | goodix_ts_core.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/goodix_ts_core.c b/goodix_ts_core.c index 44291c8..ce66b48 100644 --- a/goodix_ts_core.c +++ b/goodix_ts_core.c @@ -1871,7 +1871,11 @@ static irqreturn_t goodix_ts_threadirq_func(int irq, void *data) int ret; #if IS_ENABLED(CONFIG_GOOG_TOUCH_INTERFACE) && IS_ENABLED(CONFIG_GTI_PM) - goog_pm_wake_lock(core_data->gti, GTI_PM_WAKELOCK_TYPE_IRQ, true); + ret = goog_pm_wake_lock(core_data->gti, GTI_PM_WAKELOCK_TYPE_IRQ, true); + if(ret < 0) { + GOOG_INFO("Error while obtaing IRQ wakelock: %d!\n", ret); + return IRQ_HANDLED; + } #endif ts_esd->irq_status = true; @@ -1886,7 +1890,7 @@ static irqreturn_t goodix_ts_threadirq_func(int irq, void *data) if (ret == EVT_CANCEL_IRQEVT) { mutex_unlock(&goodix_modules.mutex); #if IS_ENABLED(CONFIG_GOOG_TOUCH_INTERFACE) && IS_ENABLED(CONFIG_GTI_PM) - goog_pm_wake_unlock(core_data->gti, GTI_PM_WAKELOCK_TYPE_IRQ); + goog_pm_wake_unlock_nosync(core_data->gti, GTI_PM_WAKELOCK_TYPE_IRQ); #endif return IRQ_HANDLED; } @@ -1925,7 +1929,7 @@ static irqreturn_t goodix_ts_threadirq_func(int irq, void *data) } #if IS_ENABLED(CONFIG_GOOG_TOUCH_INTERFACE) && IS_ENABLED(CONFIG_GTI_PM) - goog_pm_wake_unlock(core_data->gti, GTI_PM_WAKELOCK_TYPE_IRQ); + goog_pm_wake_unlock_nosync(core_data->gti, GTI_PM_WAKELOCK_TYPE_IRQ); #endif return IRQ_HANDLED; |