drm/amdgpu: sriov should skip asic_reset in device_init
authorwentalou <Wentao.Lou@amd.com>
Thu, 17 Jan 2019 09:38:33 +0000 (17:38 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 25 Jan 2019 21:15:35 +0000 (16:15 -0500)
sriov would meet guest driver load failure,
if calling amdgpu_asic_reset in amdgpu_device_init.
sriov should skip asic_reset in device_init.

Signed-off-by: Wentao Lou <Wentao.Lou@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 8a61764e64cf8747136df976ce104b57fde89bf5..e20dce438d373ae8f0d6b1bc69ffc239573fde3e 100644 (file)
@@ -2553,7 +2553,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,
        /* check if we need to reset the asic
         *  E.g., driver was not cleanly unloaded previously, etc.
         */
-       if (amdgpu_asic_need_reset_on_init(adev)) {
+       if (!amdgpu_sriov_vf(adev) && amdgpu_asic_need_reset_on_init(adev)) {
                r = amdgpu_asic_reset(adev);
                if (r) {
                        dev_err(adev->dev, "asic reset on init failed\n");