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

Commit dfdffd76 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: avoid removing wrong multirect on validate failures"

parents ce2dc27f fa0a8e6b
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1936,16 +1936,20 @@ validate_exit:
	mutex_lock(&mdp5_data->list_lock);
	list_for_each_entry_safe(pipe, tmp, &mdp5_data->pipes_used, list) {
		if (IS_ERR_VALUE(ret)) {
			if ((pipe->ndx & rec_release_ndx[0]) ||
			    (pipe->ndx & rec_release_ndx[1])) {
			if (((pipe->ndx & rec_release_ndx[0]) &&
						(pipe->multirect.num == 0)) ||
					((pipe->ndx & rec_release_ndx[1]) &&
					 (pipe->multirect.num == 1))) {
				mdss_mdp_smp_unreserve(pipe);
				pipe->params_changed = 0;
				pipe->dirty = true;
				if (!list_empty(&pipe->list))
					list_del_init(&pipe->list);
				mdss_mdp_pipe_destroy(pipe);
			} else if ((pipe->ndx & rec_destroy_ndx[0]) ||
				   (pipe->ndx & rec_destroy_ndx[1])) {
			} else if (((pipe->ndx & rec_destroy_ndx[0]) &&
						(pipe->multirect.num == 0)) ||
					((pipe->ndx & rec_destroy_ndx[1]) &&
					 (pipe->multirect.num == 1))) {
				/*
				 * cleanup/destroy list pipes should move back
				 * to destroy list. Next/current kickoff cycle