From: Alex Deucher Date: Mon, 7 Jul 2025 13:38:27 +0000 (-0400) Subject: drm/amdgpu/gfx9: fix kiq locking in KCQ reset X-Git-Tag: v6.16.1~397 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c945fc74abbda06d15bee1d7ed0047024e2c6586;p=thirdparty%2Fkernel%2Fstable.git drm/amdgpu/gfx9: fix kiq locking in KCQ reset [ Upstream commit 730ea5074dac1b105717316be5d9c18b09829385 ] The ring test needs to be inside the lock. Fixes: fdbd69486b46 ("drm/amdgpu/gfx9: wait for reset done before remap") Reviewed-by: Christian König Signed-off-by: Alex Deucher Cc: Jiadong Zhu Signed-off-by: Sasha Levin --- diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c index 23f9981815612..f768c407771ac 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c @@ -7280,8 +7280,8 @@ static int gfx_v9_0_reset_kcq(struct amdgpu_ring *ring, } kiq->pmf->kiq_map_queues(kiq_ring, ring); amdgpu_ring_commit(kiq_ring); - spin_unlock_irqrestore(&kiq->ring_lock, flags); r = amdgpu_ring_test_ring(kiq_ring); + spin_unlock_irqrestore(&kiq->ring_lock, flags); if (r) { DRM_ERROR("fail to remap queue\n"); return r;