diff options
| -rw-r--r-- | drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c | 5 |
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) { |
