Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e20699d0 authored by Ingrid Gallardo's avatar Ingrid Gallardo Committed by Gerrit - the friendly Code Review server
Browse files

msm: mdss: fix race condition with overlay off in doze mode



When stop is called for doze mode, there is a
race condition between the stop thread and the
retire signal work queue. Fix race condition by
making sure that driver waits for the retire fence
before calling the stop.

Change-Id: Icd9d5b14e4138e747f9483458da7ddb89f515c03
Signed-off-by: default avatarIngrid Gallardo <ingridg@codeaurora.org>
parent 550075b3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -6080,6 +6080,7 @@ static int mdss_mdp_overlay_off(struct msm_fb_data_type *mfd)
		goto end;
	}

ctl_stop:
	/*
	 * If retire fences are still active wait for a vsync time
	 * for retire fence to be updated.
@@ -6111,7 +6112,6 @@ static int mdss_mdp_overlay_off(struct msm_fb_data_type *mfd)
		flush_kthread_work(&mdp5_data->vsync_work);
	}

ctl_stop:
	mutex_lock(&mdp5_data->ov_lock);
	/* set the correct pipe_mapped before ctl_stop */
	mdss_mdp_mixer_update_pipe_map(mdp5_data->ctl,