aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_job.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_job.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
index 87b75d726ae8..347962ea17ab 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
@@ -89,21 +89,23 @@ static void amdgpu_job_free_resources(struct amdgpu_job *job)
89 89
90 for (i = 0; i < job->num_ibs; ++i) 90 for (i = 0; i < job->num_ibs; ++i)
91 amdgpu_ib_free(job->adev, &job->ibs[i], f); 91 amdgpu_ib_free(job->adev, &job->ibs[i], f);
92 fence_put(job->fence);
93
94 amdgpu_sync_free(&job->sync);
95} 92}
96 93
97void amdgpu_job_free_cb(struct amd_sched_job *s_job) 94void amdgpu_job_free_cb(struct amd_sched_job *s_job)
98{ 95{
99 struct amdgpu_job *job = container_of(s_job, struct amdgpu_job, base); 96 struct amdgpu_job *job = container_of(s_job, struct amdgpu_job, base);
100 97
98 fence_put(job->fence);
99 amdgpu_sync_free(&job->sync);
101 kfree(job); 100 kfree(job);
102} 101}
103 102
104void amdgpu_job_free(struct amdgpu_job *job) 103void amdgpu_job_free(struct amdgpu_job *job)
105{ 104{
106 amdgpu_job_free_resources(job); 105 amdgpu_job_free_resources(job);
106
107 fence_put(job->fence);
108 amdgpu_sync_free(&job->sync);
107 kfree(job); 109 kfree(job);
108} 110}
109 111