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>
"- %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;