On Thu, 07 Jun 2012, Daniel Vetter <daniel.vet...@ffwll.ch> wrote:
> We need it for all things ums (which essentially only means up to
> gen5) and to support b0rked XvMC userspace on gen3.
>
> Signed-Off-by: Daniel Vetter <daniel.vet...@ffwll.ch>
> ---
>  drivers/gpu/drm/i915/i915_dma.c |   21 ++++++++++++---------
>  1 files changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index e4203df..0ab5d3d 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -1422,15 +1422,6 @@ int i915_driver_load(struct drm_device *dev, unsigned 
> long flags)
>       int ret = 0, mmio_bar;
>       uint32_t aperture_size;
>  
> -     ret = drm_pci_agp_init(dev);
> -     if (ret)
> -             return ret;
> -
> -     if (!dev->agp) {
> -             DRM_ERROR("Cannot initialize the agpgart module.\n");
> -             return -EINVAL;
> -     }
> -
>       info = (struct intel_device_info *) flags;
>  
>       /* Refuse to load on gen6+ without kms enabled. */
> @@ -1453,6 +1444,18 @@ int i915_driver_load(struct drm_device *dev, unsigned 
> long flags)
>       dev_priv->dev = dev;
>       dev_priv->info = info;
>  
> +     if (!drm_core_check_feature(dev, DRIVER_MODESET) ||
> +         IS_GEN3(dev)) {
> +             ret = drm_pci_agp_init(dev);
> +             if (ret)
> +                     return ret;
> +
> +             if (!dev->agp) {
> +                     DRM_ERROR("Cannot initialize the agpgart module.\n");
> +                     return -EINVAL;
> +             }

You need to goto free_priv in the above error paths.

Should there be a deinit of drm_pci_agp_init() if something goes wrong
afterwards?

BR,
Jani.


> +     }
> +
>       if (i915_get_bridge_dev(dev)) {
>               ret = -EIO;
>               goto free_priv;
> -- 
> 1.7.7.6
>
> _______________________________________________
> Intel-gfx mailing list
> intel-...@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to