diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c index 19e45a3953e0..93794a85f83d 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | |||
@@ -211,7 +211,8 @@ void amdgpu_ring_priority_get(struct amdgpu_ring *ring, | |||
211 | if (!ring->funcs->set_priority) | 211 | if (!ring->funcs->set_priority) |
212 | return; | 212 | return; |
213 | 213 | ||
214 | atomic_inc(&ring->num_jobs[priority]); | 214 | if (atomic_inc_return(&ring->num_jobs[priority]) <= 0) |
215 | return; | ||
215 | 216 | ||
216 | mutex_lock(&ring->priority_mutex); | 217 | mutex_lock(&ring->priority_mutex); |
217 | if (priority <= ring->priority) | 218 | if (priority <= ring->priority) |