diff --git a/msm/sde/sde_rm.c b/msm/sde/sde_rm.c index ecfaace8a8..4e456c3216 100644 --- a/msm/sde/sde_rm.c +++ b/msm/sde/sde_rm.c @@ -1324,11 +1324,14 @@ static int _sde_rm_reserve_dsc( reserve_mask |= (1 << iter_i.blk->id); dsc[alloc_count++] = iter_i.blk; + /* Return if peer is not needed */ + if (alloc_count == num_dsc_enc) + break; + /* Valid first dsc found, find matching peers */ sde_rm_init_hw_iter(&iter_j, 0, SDE_HW_BLK_DSC); - while (alloc_count != num_dsc_enc && - _sde_rm_get_hw_locked(rm, &iter_j)) { + while (_sde_rm_get_hw_locked(rm, &iter_j)) { if (reserve_mask & (1 << iter_j.blk->id)) continue;