summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>2013-02-15 12:50:52 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:14:41 -0700
commit7759cddeb50c6ac21f930a2caa742a30b54a66b5 (patch)
treedde1998861f47e02786fedb9fae076d44f4e2368
parent16f5cc6ae5a8be96ec355dc575aa3529fc0ee73d (diff)
msm: mdss: clean up control path during kickoff
References in the control structure need to be cleared during cleanup to detach hardware from the current control execution path and make it available for subsequent executions to avoid buffer drops CRs-fixed: 452500 Change-Id: I7f9472c51934293e199a2d872edb075b03c03366 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_ctl.c7
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_intf_video.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
index 63a1aa4a7853..0f52125bec97 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
@@ -267,6 +267,13 @@ static int mdss_mdp_ctl_free(struct mdss_mdp_ctl *ctl)
mutex_lock(&mdss_mdp_ctl_lock);
ctl->ref_cnt--;
+ ctl->mixer_left = NULL;
+ ctl->mixer_right = NULL;
+ ctl->power_on = false;
+ ctl->start_fnc = NULL;
+ ctl->stop_fnc = NULL;
+ ctl->prepare_fnc = NULL;
+ ctl->display_fnc = NULL;
mutex_unlock(&mdss_mdp_ctl_lock);
return 0;
diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_video.c b/drivers/video/fbdev/msm/mdss_mdp_intf_video.c
index 1aea4e0f13c5..0d4037c3ef56 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_intf_video.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_intf_video.c
@@ -251,6 +251,7 @@ static int mdss_mdp_video_stop(struct mdss_mdp_ctl *ctl)
NULL, NULL);
ctx->ref_cnt--;
+ ctl->priv_data = NULL;
return 0;
}