diff --git a/drivers/video/fbdev/msm/dsi_status_6g.c b/drivers/video/fbdev/msm/dsi_status_6g.c index 269fd2c7aa5c..bec6818e95a5 100644 --- a/drivers/video/fbdev/msm/dsi_status_6g.c +++ b/drivers/video/fbdev/msm/dsi_status_6g.c @@ -126,15 +126,15 @@ void mdss_check_dsi_ctrl_status(struct work_struct *work, uint32_t interval) */ mutex_lock(&ctrl_pdata->mutex); - mutex_lock(&ctl->offlock); if (mipi->mode == DSI_CMD_MODE) mutex_lock(&mdp5_data->ov_lock); + mutex_lock(&ctl->offlock); if (mdss_panel_is_power_off(pstatus_data->mfd->panel_power_state) || pstatus_data->mfd->shutdown_pending) { + mutex_unlock(&ctl->offlock); if (mipi->mode == DSI_CMD_MODE) mutex_unlock(&mdp5_data->ov_lock); - mutex_unlock(&ctl->offlock); mutex_unlock(&ctrl_pdata->mutex); pr_err("%s: DSI turning off, avoiding panel status check\n", __func__); @@ -160,9 +160,9 @@ void mdss_check_dsi_ctrl_status(struct work_struct *work, uint32_t interval) ret = ctrl_pdata->check_status(ctrl_pdata); mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_OFF); + mutex_unlock(&ctl->offlock); if (mipi->mode == DSI_CMD_MODE) mutex_unlock(&mdp5_data->ov_lock); - mutex_unlock(&ctl->offlock); mutex_unlock(&ctrl_pdata->mutex); if ((pstatus_data->mfd->panel_power_state == MDSS_PANEL_POWER_ON)) {