summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorSree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>2013-02-26 18:44:49 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:15:13 -0700
commit1bd35265a13295a88e5d3c5277eebef4d088cfc0 (patch)
tree7daaf8e75d7a08bba59e816cc51e3869deb982a1 /drivers/video/fbdev
parent14790a1187755b704d253aa1b7655ae3265bd5d0 (diff)
msm: mdss: execute overlay cleanup on overlay kickoff
overlay cleanup needs to be called if display_commit fails to ensure pipes are released from the control path even when they cannot be pushed Change-Id: Ib3ce38b29e3d72840933634399eec655081fc793 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_overlay.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
index daa249939bf4..dcefc096382e 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
@@ -654,10 +654,8 @@ int mdss_mdp_overlay_kickoff(struct mdss_mdp_ctl *ctl)
ret = mdss_mdp_display_commit(ctl, NULL);
mutex_unlock(&mfd->lock);
- if (IS_ERR_VALUE(ret)) {
- mutex_unlock(&mfd->ov_lock);
- return ret;
- }
+ if (IS_ERR_VALUE(ret))
+ goto commit_fail;
ret = mdss_mdp_display_wait4comp(ctl);
@@ -670,6 +668,7 @@ int mdss_mdp_overlay_kickoff(struct mdss_mdp_ctl *ctl)
add_timer(&mfd->no_update.timer);
mutex_unlock(&mfd->no_update.lock);
+commit_fail:
ret = mdss_mdp_overlay_cleanup(mfd);
mutex_unlock(&mfd->ov_lock);