Need to move irq resume to the beginning of reset sriov, or if
one interrupt occurs before irq resume, then the irq won't work anymore.

Signed-off-by: Emily Deng <emily.d...@amd.com>
---
 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 1338489b0b2f..8b304fdfe6db 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -4617,6 +4617,7 @@ static int amdgpu_device_reset_sriov(struct amdgpu_device 
*adev,
                r = amdgpu_virt_reset_gpu(adev);
        if (r)
                return r;
+       amdgpu_irq_gpu_reset_resume_helper(adev);
 
        /* some sw clean up VF needs to do before recover */
        amdgpu_virt_post_reset(adev);
@@ -4646,7 +4647,6 @@ static int amdgpu_device_reset_sriov(struct amdgpu_device 
*adev,
                amdgpu_put_xgmi_hive(hive);
 
        if (!r) {
-               amdgpu_irq_gpu_reset_resume_helper(adev);
                r = amdgpu_ib_ring_tests(adev);
 
                amdgpu_amdkfd_post_reset(adev);
-- 
2.36.1

Reply via email to