---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index a30111d2c3ea..0f337a0bdee8 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -5307,11 +5307,12 @@ static int amdgpu_device_reset_sriov(struct 
amdgpu_device *adev,
        struct amdgpu_hive_info *hive = NULL;
 
        if (test_bit(AMDGPU_HOST_FLR, &reset_context->flags)) {
+               r = amdgpu_virt_wait_reset(adev);
+               if(r)
+                       return r;
                if (!amdgpu_ras_get_fed_status(adev))
-                       amdgpu_virt_ready_to_reset(adev);
-               amdgpu_virt_wait_reset(adev);
+                       r = amdgpu_virt_reset_gpu(adev);
                clear_bit(AMDGPU_HOST_FLR, &reset_context->flags);
-               r = amdgpu_virt_request_full_gpu(adev, true);
        } else {
                r = amdgpu_virt_reset_gpu(adev);
        }
-- 
2.43.0

Reply via email to