diff options
author | Christian König <christian.koenig@amd.com> | 2023-01-05 12:45:36 +0300 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2023-01-05 22:34:58 +0300 |
commit | ed21f6c3fe423b17211fa5a85cd028621a749a2a (patch) | |
tree | 5a25b5b5d7b4dc24f6f042ee7190043ecd0c52a7 /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |
parent | 83e79ae3216c70f2b63c935a4e089d1620e8ef01 (diff) | |
download | linux-ed21f6c3fe423b17211fa5a85cd028621a749a2a.tar.xz |
drm/amdgpu: fix another missing fence reference in the CS code
drm_sched_job_add_dependency() consumes the references of the gang
members. Only triggered by mesh shaders.
Signed-off-by: Christian König <christian.koenig@amd.com>
Fixes: 1728baa7e4e6 ("drm/amdgpu: use scheduler dependencies for CS")
Tested-by: Mike Lothian <mike@fireburn.co.uk>
Tested-by: Bert Karwatzki <spasswolf@web.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20230105111703.52695-1-christian.koenig@amd.com
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 8516c814bc9b..47763ac0d14a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c @@ -1254,9 +1254,12 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p, continue; fence = &p->jobs[i]->base.s_fence->scheduled; + dma_fence_get(fence); r = drm_sched_job_add_dependency(&leader->base, fence); - if (r) + if (r) { + dma_fence_put(fence); goto error_cleanup; + } } if (p->gang_size > 1) { |