diff options
author | Xiaohui Tao <xtao@nvidia.com> | 2013-10-14 17:16:09 -0700 |
---|---|---|
committer | Harshada Kale <hkale@nvidia.com> | 2014-06-26 09:34:13 -0700 |
commit | 21f97241a800436a72046c39ced766583f1fdd0a (patch) | |
tree | c0d8907af12cc29ee6516d3bcd1a033aa552ab24 /drivers/input | |
parent | 3bf9e2a40c5ee8c42dbc2cbff616c65e4fea7eb4 (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.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 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; |