drm/amdgpu: Don't leak runtime pm ref on driver load
[cascardo/linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_kms.c
index 9b1f979..0db692e 100644 (file)
@@ -137,9 +137,12 @@ int amdgpu_driver_load_kms(struct drm_device *dev, unsigned long flags)
        }
 
 out:
-       if (r)
+       if (r) {
+               /* balance pm_runtime_get_sync in amdgpu_driver_unload_kms */
+               if (adev->rmmio && amdgpu_device_is_px(dev))
+                       pm_runtime_put_noidle(dev->dev);
                amdgpu_driver_unload_kms(dev);
-
+       }
 
        return r;
 }