aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c
index bf551885e019..1f795af89680 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c
@@ -119,9 +119,10 @@ static int smp_request_block(struct mdp5_smp *smp,
119 119
120 spin_lock_irqsave(&smp->state_lock, flags); 120 spin_lock_irqsave(&smp->state_lock, flags);
121 121
122 nblks -= reserved; 122 if (reserved) {
123 if (reserved) 123 nblks = max(0, nblks - reserved);
124 DBG("%d MMBs allocated (%d reserved)", nblks, reserved); 124 DBG("%d MMBs allocated (%d reserved)", nblks, reserved);
125 }
125 126
126 avail = cnt - bitmap_weight(smp->state, cnt); 127 avail = cnt - bitmap_weight(smp->state, cnt);
127 if (nblks > avail) { 128 if (nblks > avail) {