Hi Janusz,

...

> @@ -634,10 +635,14 @@ static void i915_driver_register(struct 
> drm_i915_private *dev_priv)
>       intel_vgpu_register(dev_priv);
>  
>       /* Reveal our presence to userspace */
> -     if (drm_dev_register(&dev_priv->drm, 0)) {
> +     ret = drm_dev_register(&dev_priv->drm, 0);
> +     if (ret) {
>               i915_probe_error(dev_priv,
>                                "Failed to register driver for userspace 
> access!\n");
> -             return;
> +             drm_dev_unregister(&dev_priv->drm);
> +             i915_pmu_unregister(dev_priv);
> +             i915_gem_driver_unregister(dev_priv);
> +             return ret;

I would have used a goto here, but it's just my preference.

>       }
>  
>       i915_debugfs_register(dev_priv);
> @@ -660,6 +665,8 @@ static void i915_driver_register(struct drm_i915_private 
> *dev_priv)
>  
>       if (i915_switcheroo_register(dev_priv))
>               drm_err(&dev_priv->drm, "Failed to register vga switcheroo!\n");
> +
> +     return 0;
>  }
>  
>  /**
> @@ -834,7 +841,9 @@ int i915_driver_probe(struct pci_dev *pdev, const struct 
> pci_device_id *ent)
>       if (ret)
>               goto out_cleanup_gem;
>  
> -     i915_driver_register(i915);
> +     ret = i915_driver_register(i915);
> +     if (ret)
> +             goto out_cleanup_gem;

looks good!

Reviewed-by: Andi Shyti <andi.sh...@linux.intel.com>

Thanks,
Andi

...

Reply via email to