Move vGPU registration after successful drm_dev_register().
Avoid drm_dev_unregister() on failed registration attempt.

Fixes: 223038731489 ("drm/i915: Fix harmful driver register/unregister 
asymmetry")
Signed-off-by: Kaushlendra Kumar <[email protected]>
---
 drivers/gpu/drm/i915/i915_driver.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_driver.c 
b/drivers/gpu/drm/i915/i915_driver.c
index c97b76771917..725c60399d80 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -630,19 +630,17 @@ static int i915_driver_register(struct drm_i915_private 
*dev_priv)
        i915_gem_driver_register(dev_priv);
        i915_pmu_register(dev_priv);
 
-       intel_vgpu_register(dev_priv);
-
        /* Reveal our presence to userspace */
        ret = drm_dev_register(&dev_priv->drm, 0);
        if (ret) {
                i915_probe_error(dev_priv,
                                 "Failed to register driver for userspace 
access!\n");
-               drm_dev_unregister(&dev_priv->drm);
                i915_pmu_unregister(dev_priv);
                i915_gem_driver_unregister(dev_priv);
                return ret;
        }
 
+       intel_vgpu_register(dev_priv);
        i915_debugfs_register(dev_priv);
        i915_setup_sysfs(dev_priv);
 
-- 
2.34.1

Reply via email to