Merge branches 'pm-cpuidle', 'pm-core' and 'pm-sleep'
[linux-block.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_cs.c
index 7b5ce00f060260114a0421cf47905e7a009a945c..7af3041ccd0e8289d76e50ff46121889209f1f37 100644 (file)
@@ -1220,10 +1220,13 @@ static int amdgpu_cs_sync_rings(struct amdgpu_cs_parser *p)
                 * next job actually sees the results from the previous one
                 * before we start executing on the same scheduler ring.
                 */
-               if (!s_fence || s_fence->sched != sched)
+               if (!s_fence || s_fence->sched != sched) {
+                       dma_fence_put(fence);
                        continue;
+               }
 
                r = amdgpu_sync_fence(&p->gang_leader->explicit_sync, fence);
+               dma_fence_put(fence);
                if (r)
                        return r;
        }