diff --git a/drivers/video/msm/mdss/mdp3_ctrl.c b/drivers/video/msm/mdss/mdp3_ctrl.c
index 9f17f0f122033010f6e79f0c2c0c0bb170df7322..f04a373cc426f8c2eee7b3a6258047b1138f0ed5 100755
--- a/drivers/video/msm/mdss/mdp3_ctrl.c
+++ b/drivers/video/msm/mdss/mdp3_ctrl.c
@@ -156,6 +156,7 @@ static void mdp3_dispatch_dma_done(struct kthread_work *work)
 	while (cnt > 0) {
 		mdp3_ctrl_notify(session, MDP_NOTIFY_FRAME_DONE);
 		atomic_dec(&session->dma_done_cnt);
+		mdp3_ctrl_notify(session, MDP_NOTIFY_FRAME_CTX_DONE);
 		cnt--;
 	}
 }
diff --git a/drivers/video/msm/mdss/mdss_fb.c b/drivers/video/msm/mdss/mdss_fb.c
index 28a523a9123b442e94d98f2783ddd3e53b06362a..8cb29450c90dc325d4056f85d710d36433f8a181 100755
--- a/drivers/video/msm/mdss/mdss_fb.c
+++ b/drivers/video/msm/mdss/mdss_fb.c
@@ -3450,10 +3450,8 @@ static void mdss_fb_release_fences(struct msm_fb_data_type *mfd)
 
 static void mdss_fb_release_kickoff(struct msm_fb_data_type *mfd)
 {
-	if (mfd->wait_for_kickoff) {
-		atomic_set(&mfd->kickoff_pending, 0);
-		wake_up_all(&mfd->kickoff_wait_q);
-	}
+	atomic_set(&mfd->kickoff_pending, 0);
+	wake_up_all(&mfd->kickoff_wait_q);
 }
 
 /**