diff options
author | Xiaohui Tao <xtao@nvidia.com> | 2013-10-14 17:16:09 -0700 |
---|---|---|
committer | Mandar Padmawar <mpadmawar@nvidia.com> | 2013-10-15 23:36:42 -0700 |
commit | b58d814f918fd92c8acc3c22e2cf9809e55b38de (patch) | |
tree | 5780fb17c41296b0d994e573e4c45bf6ee208f60 | |
parent | b36d0dfa2a4596512e8e426ef1f8931c4510bee6 (diff) |
input: touch: radyium: avoid deadlock
Fix potential deadlock in driver
Raydium drop does not fix the problem. We need to have this
temporary fix to solve the problem.
Bug 1384590
Change-Id: Ifcb56ba5db34b42af0b4d441659d7a5fdd869943
Signed-off-by: Xiaohui Tao <xtao@nvidia.com>
Reviewed-on: http://git-master/r/289969
Reviewed-by: Sang-Hun Lee <sanlee@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Robert Collins <rcollins@nvidia.com>
Reviewed-by: Ankit Pashiney <apashiney@nvidia.com>
-rw-r--r-- | drivers/input/touchscreen/rm31080a_ts.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/input/touchscreen/rm31080a_ts.c b/drivers/input/touchscreen/rm31080a_ts.c index ef1c1febafd1..9f07f0427747 100644 --- a/drivers/input/touchscreen/rm31080a_ts.c +++ b/drivers/input/touchscreen/rm31080a_ts.c @@ -798,9 +798,13 @@ static int rm_tch_cmd_process(u8 selCase, u8 *pCmdTbl, struct rm_tch_ts *ts) /*rm_printk("KRL_CMD_FLUSH_QU : %d\n",pCmdTbl[_SUB_CMD]);*/ ret = OK; if (pCmdTbl[_SUB_CMD] == KRL_SUB_CMD_SENSOR_QU) { + mutex_unlock(&lock); flush_workqueue(g_stTs.rm_workqueue); + mutex_lock(&lock); } else if (pCmdTbl[_SUB_CMD] == KRL_SUB_CMD_TIMER_QU) { + mutex_unlock(&lock); flush_workqueue(g_stTs.rm_timer_workqueue); + mutex_lock(&lock); } else ret = FAIL; break; |