|
@@ -3143,20 +3143,19 @@ static int amdgpu_device_reset_sriov(struct amdgpu_device *adev,
|
|
|
|
|
|
/* now we are okay to resume SMC/CP/SDMA */
|
|
/* now we are okay to resume SMC/CP/SDMA */
|
|
r = amdgpu_device_ip_reinit_late_sriov(adev);
|
|
r = amdgpu_device_ip_reinit_late_sriov(adev);
|
|
- amdgpu_virt_release_full_gpu(adev, true);
|
|
|
|
if (r)
|
|
if (r)
|
|
goto error;
|
|
goto error;
|
|
|
|
|
|
amdgpu_irq_gpu_reset_resume_helper(adev);
|
|
amdgpu_irq_gpu_reset_resume_helper(adev);
|
|
r = amdgpu_ib_ring_tests(adev);
|
|
r = amdgpu_ib_ring_tests(adev);
|
|
|
|
|
|
|
|
+error:
|
|
|
|
+ amdgpu_virt_release_full_gpu(adev, true);
|
|
if (!r && adev->virt.gim_feature & AMDGIM_FEATURE_GIM_FLR_VRAMLOST) {
|
|
if (!r && adev->virt.gim_feature & AMDGIM_FEATURE_GIM_FLR_VRAMLOST) {
|
|
atomic_inc(&adev->vram_lost_counter);
|
|
atomic_inc(&adev->vram_lost_counter);
|
|
r = amdgpu_device_handle_vram_lost(adev);
|
|
r = amdgpu_device_handle_vram_lost(adev);
|
|
}
|
|
}
|
|
|
|
|
|
-error:
|
|
|
|
-
|
|
|
|
return r;
|
|
return r;
|
|
}
|
|
}
|
|
|
|
|