diff mbox series

drm/amdgpu: Fix an error handling path in amdgpu_device_xgmi_reset_func()

Message ID 59760ee9c40003b50eac7fd08f20a6c3e3acf5d0.1732048587.git.christophe.jaillet@wanadoo.fr (mailing list archive)
State New
Headers show
Series drm/amdgpu: Fix an error handling path in amdgpu_device_xgmi_reset_func() | expand

Commit Message

Christophe JAILLET Nov. 19, 2024, 8:36 p.m. UTC
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@wanadoo.fr>
---
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 mbox series

Patch

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)