summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiaohui Tao <xtao@nvidia.com>2013-10-14 17:16:09 -0700
committerMandar Padmawar <mpadmawar@nvidia.com>2013-10-15 23:36:42 -0700
commitb58d814f918fd92c8acc3c22e2cf9809e55b38de (patch)
tree5780fb17c41296b0d994e573e4c45bf6ee208f60
parentb36d0dfa2a4596512e8e426ef1f8931c4510bee6 (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.c4
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;