The scheduler should restart only if the reset operation
succeeds  This ensures that new tasks are only submitted
to the queues after a successful reset.

Fixes: 9b5d66721b66308a5 ("drm/amdgpu: Introduce conditional user queue 
suspension for SDMA resets")

Suggested-by: Alex Deucher <alexander.deuc...@amd.com>
Signed-off-by: Jesse.Zhang <jesse.zh...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
index 3a4cef896018..1334c209201f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
@@ -609,7 +609,7 @@ int amdgpu_sdma_reset_engine(struct amdgpu_device *adev, 
uint32_t instance_id, b
         * if they were stopped by this function. This allows new tasks
         * to be submitted to the queues after the reset is complete.
         */
-       if (ret) {
+       if (!ret) {
                if (gfx_sched_stopped && amdgpu_ring_sched_ready(gfx_ring)) {
                        drm_sched_wqueue_start(&gfx_ring->sched);
                }
-- 
2.25.1

Reply via email to