Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

+4 -1
+4 -1
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
··· 1254 1254 continue; 1255 1255 1256 1256 fence = &p->jobs[i]->base.s_fence->scheduled; 1257 + dma_fence_get(fence); 1257 1258 r = drm_sched_job_add_dependency(&leader->base, fence); 1258 - if (r) 1259 + if (r) { 1260 + dma_fence_put(fence); 1259 1261 goto error_cleanup; 1262 + } 1260 1263 } 1261 1264 1262 1265 if (p->gang_size > 1) {