On pe, 2016-10-07 at 10:46 +0100, Chris Wilson wrote:
> @@ -72,21 +68,18 @@ static struct sg_table *i915_gem_map_dma_buf(struct 
> dma_buf_attachment *attachme
>       }
>  
>       if (!dma_map_sg(attachment->dev, st->sgl, st->nents, dir)) {
> -             ret =-ENOMEM;
> +             ret = -ENOMEM;
>               goto err_free_sg;
>       }
>  
> -     mutex_unlock(&obj->base.dev->struct_mutex);
>       return st;
>  
>  err_free_sg:
>       sg_free_table(st);
>  err_free:
>       kfree(st);
> -err_unpin:
> +err_put_pages:
>       i915_gem_object_unpin_pages(obj);

I do not quite follow the logic leading to rename in here.

> @@ -177,15 +155,22 @@ static int i915_gem_begin_cpu_access(struct dma_buf 
> *dma_buf, enum dma_data_dire
>  {
>       struct drm_i915_gem_object *obj = dma_buf_to_obj(dma_buf);
>       struct drm_device *dev = obj->base.dev;
> -     int ret;
>       bool write = (direction == DMA_BIDIRECTIONAL || direction == 
> DMA_TO_DEVICE);
> +     int ret;
>  
> -     ret = i915_mutex_lock_interruptible(dev);
> +     ret = i915_gem_object_pin_pages(obj);
>       if (ret)
>               return ret;
>  
> +     ret = i915_mutex_lock_interruptible(dev);
> +     if (ret)
> +             goto err;
> +
>       ret = i915_gem_object_set_to_cpu_domain(obj, write);
>       mutex_unlock(&dev->struct_mutex);
> +
> +err:

combined path, 'out:'
 
> @@ -195,13 +180,19 @@ static int i915_gem_end_cpu_access(struct dma_buf 
> *dma_buf, enum dma_data_direct
>       struct drm_device *dev = obj->base.dev;
>       int ret;
>  
> -     ret = i915_mutex_lock_interruptible(dev);
> +     ret = i915_gem_object_pin_pages(obj);
>       if (ret)
>               return ret;
>  
> +     ret = i915_mutex_lock_interruptible(dev);
> +     if (ret)
> +             goto err;
> +
>       ret = i915_gem_object_set_to_gtt_domain(obj, false);
>       mutex_unlock(&dev->struct_mutex);
>  
> +err:

Ditto.

With above fixed;

Reviewed-by: Joonas Lahtinen <joonas.lahti...@linux.intel.com>

Regards, Joonas
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to