summaryrefslogtreecommitdiff
path: root/drivers/input
diff options
context:
space:
mode:
authorXiaohui Tao <xtao@nvidia.com>2013-10-14 17:16:09 -0700
committerHarshada Kale <hkale@nvidia.com>2014-06-26 09:34:13 -0700
commit21f97241a800436a72046c39ced766583f1fdd0a (patch)
treec0d8907af12cc29ee6516d3bcd1a033aa552ab24 /drivers/input
parent3bf9e2a40c5ee8c42dbc2cbff616c65e4fea7eb4 (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 Bug 1526923 Bug 1526923 Change-Id: Ifcb56ba5db34b42af0b4d441659d7a5fdd869943 Signed-off-by: Xiaohui Tao <xtao@nvidia.com> Reviewed-on: http://git-master/r/289969 Reviewed-on: http://git-master/r/427256 (cherry picked from commit dbeeaf0f5de2f7c9015837669851ae217bf559ac) Reviewed-on: http://git-master/r/428004 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Jordan Nien <jnien@nvidia.com> Reviewed-by: Robert Collins <rcollins@nvidia.com> Reviewed-by: Mitch Luban <mluban@nvidia.com>
Diffstat (limited to 'drivers/input')
-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 52586948f5be..7e2cacf1f5d9 100644
--- a/drivers/input/touchscreen/rm31080a_ts.c
+++ b/drivers/input/touchscreen/rm31080a_ts.c
@@ -1261,12 +1261,16 @@ static int rm_tch_cmd_process(u8 u8_sel_case,
"- %d\n", p_cmd_tbl[_SUB_CMD]);*/
ret = RETURN_OK;
if (p_cmd_tbl[_SUB_CMD] == KRL_SUB_CMD_SENSOR_QU) {
+ mutex_unlock(&lock);
flush_workqueue(g_st_ts.rm_workqueue);
g_worker_queue_is_flush = true;
+ mutex_lock(&lock);
} else if (p_cmd_tbl[_SUB_CMD] ==
KRL_SUB_CMD_TIMER_QU) {
+ mutex_unlock(&lock);
flush_workqueue(g_st_ts.rm_timer_workqueue);
g_timer_queue_is_flush = true;
+ mutex_lock(&lock);
} else
ret = RETURN_FAIL;
break;