diff options
| author | Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org> | 2013-02-26 18:44:49 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:15:13 -0700 |
| commit | 1bd35265a13295a88e5d3c5277eebef4d088cfc0 (patch) | |
| tree | 7daaf8e75d7a08bba59e816cc51e3869deb982a1 /drivers/video/fbdev | |
| parent | 14790a1187755b704d253aa1b7655ae3265bd5d0 (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.c | 7 |
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); |
