drm/amdgpu: drop redundant sched job cleanup when cs is aborted
[platform/kernel/linux-starfive.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_cs.c
index 08eced0..2eb2c66 100644 (file)
@@ -1276,7 +1276,7 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
                r = drm_sched_job_add_dependency(&leader->base, fence);
                if (r) {
                        dma_fence_put(fence);
-                       goto error_cleanup;
+                       return r;
                }
        }
 
@@ -1303,7 +1303,8 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
        }
        if (r) {
                r = -EAGAIN;
-               goto error_unlock;
+               mutex_unlock(&p->adev->notifier_lock);
+               return r;
        }
 
        p->fence = dma_fence_get(&leader->base.s_fence->finished);
@@ -1350,14 +1351,6 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
        mutex_unlock(&p->adev->notifier_lock);
        mutex_unlock(&p->bo_list->bo_list_mutex);
        return 0;
-
-error_unlock:
-       mutex_unlock(&p->adev->notifier_lock);
-
-error_cleanup:
-       for (i = 0; i < p->gang_size; ++i)
-               drm_sched_job_cleanup(&p->jobs[i]->base);
-       return r;
 }
 
 /* Cleanup the parser structure */