diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index bad28d8a42fb5892ba801d4bd3c2b75654f3c98e..111fa5d91bdfafda46744dba8357bb130e5bd991 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c @@ -4980,6 +4980,13 @@ static int gfx_v8_0_kiq_resume(struct amdgpu_device *adev) if (r) goto done; + ring->ready = true; + r = amdgpu_ring_test_ring(ring); + if (r) { + ring->ready = false; + goto done; + } + for (i = 0; i < adev->gfx.num_compute_rings; i++) { ring = &adev->gfx.compute_ring[i]; @@ -5008,12 +5015,6 @@ static int gfx_v8_0_kiq_resume(struct amdgpu_device *adev) ring->ready = false; } - ring = &adev->gfx.kiq.ring; - ring->ready = true; - r = amdgpu_ring_test_ring(ring); - if (r) - ring->ready = false; - done: return r; }