drm/amdgpu: add missing pci_disable_device() in amdgpu_pmops_runtime_resume()
authorYang Yingliang <yangyingliang@huawei.com>
Fri, 26 Aug 2022 08:57:54 +0000 (16:57 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 29 Aug 2022 21:44:15 +0000 (17:44 -0400)
Add missing pci_disable_device() if amdgpu_device_resume() fails.

Fixes: 8e4d5d43cc6c ("drm/amdgpu: Handling of amdgpu_device_resume return value for graceful teardown")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c

index 429fcdf28836ed573a7b29c22290141cf5042872..de7144b06e933e76b51a46ca40772b428079d483 100644 (file)
@@ -2563,8 +2563,11 @@ static int amdgpu_pmops_runtime_resume(struct device *dev)
                amdgpu_device_baco_exit(drm_dev);
        }
        ret = amdgpu_device_resume(drm_dev, false);
-       if (ret)
+       if (ret) {
+               if (amdgpu_device_supports_px(drm_dev))
+                       pci_disable_device(pdev);
                return ret;
+       }
 
        if (amdgpu_device_supports_px(drm_dev))
                drm_dev->switch_power_state = DRM_SWITCH_POWER_ON;