[Dorado][PATCH] Qualcomm Post-CS10 0.0.040.1 - msm: mdss: fix NOC error in accessing accessing DMA status reg

commit a2f5a33fd7b276135033d8f8ff5fc60e3aaf3ea0
Author: Sachin Bhayare <sachin.bhayare@codeaurora.org>
Date:   Thu Nov 3 14:12:04 2016 +0530

    msm: mdss: fix NOC error in accessing accessing DMA status reg

    In current implementation theres is a possibility that clk_off_work
    will get scheduled twice after idle time out. When this happens
    NOC error are observed in accessing DMA status register.

    Fix issue by scheduling clk_off_work only once after each idle time

    Change-Id: I4b6b2acb8f3260d281d5ca6ff9d54de7051e7b39
    Signed-off-by: Sachin Bhayare <sachin.bhayare@codeaurora.org>
diff --git a/drivers/video/msm/mdss/mdp3_ctrl.c b/drivers/video/msm/mdss/mdp3_ctrl.c
index 03c1eda..f5d51dc 100644
--- a/drivers/video/msm/mdss/mdp3_ctrl.c
+++ b/drivers/video/msm/mdss/mdp3_ctrl.c
@@ -230,10 +230,11 @@
 {
 	struct mdp3_session_data *session = (struct mdp3_session_data *)arg;
 	/* We are counting down to turn off clocks */
-	if (atomic_read(&session->vsync_countdown) > 0)
+	if (atomic_read(&session->vsync_countdown) > 0) {
 		atomic_dec(&session->vsync_countdown);
-	if (atomic_read(&session->vsync_countdown) == 0)
-		schedule_work(&session->clk_off_work);
+		if (atomic_read(&session->vsync_countdown) == 0)
+			schedule_work(&session->clk_off_work);
+	}
 }
 
 void mdp3_ctrl_reset_countdown(struct mdp3_session_data *session,