In case of error after a amdgpu_gfx_rlc_enter_safe_mode() call, it is not balanced by a corresponding amdgpu_gfx_rlc_exit_safe_mode() call. Add the missing call. Fixes: c6a6e2db9945 ("drm/amdgpu: Redo XGMI reset synchronization.") Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> --- Compile tested only. This patch is completely speculative, review with care! It is only based on naming where an _enter() function if not followed by an _exit() in some paths but is in other paths. --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 0171d240fcb0..facb35249da0 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -3933,11 +3933,11 @@ static void amdgpu_device_xgmi_reset_func(struct work_struct *__work) task_barrier_enter(&hive->tb); adev->asic_reset_res = amdgpu_device_baco_enter(adev_to_drm(adev)); + task_barrier_exit(&hive->tb); if (adev->asic_reset_res) goto fail; - task_barrier_exit(&hive->tb); adev->asic_reset_res = amdgpu_device_baco_exit(adev_to_drm(adev)); if (adev->asic_reset_res) -- 2.47.0