Re: [PATCH v5 3/3] drm/i915: Fix harmful driver register/unregister asymmetry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.shyti@xxxxxxxxxxxxxxx>

Thanks,
Andi

...



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux