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

This commit is contained in:
Linux Build Service Account 2016-11-15 04:07:34 -08:00 committed by Gerrit - the friendly Code Review server
commit c7c1cfc485

View file

@ -2470,16 +2470,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