On Thu, Mar 02, 2017 at 01:44:36PM -0800, Laura Abbott wrote:
>  static struct sg_table *ion_map_dma_buf(struct dma_buf_attachment 
> *attachment,
>                                       enum dma_data_direction direction)
>  {
>       struct dma_buf *dmabuf = attachment->dmabuf;
>       struct ion_buffer *buffer = dmabuf->priv;
> +     struct sg_table *table;
> +     int ret;
> +
> +     /*
> +      * TODO: Need to sync wrt CPU or device completely owning?
> +      */
> +
> +     table = dup_sg_table(buffer->sg_table);
>  
> -     ion_buffer_sync_for_device(buffer, attachment->dev, direction);
> -     return dup_sg_table(buffer->sg_table);
> +     if (!dma_map_sg(attachment->dev, table->sgl, table->nents,
> +                     direction)){
> +             ret = -ENOMEM;
> +             goto err;
> +     }
> +
> +err:
> +     free_duped_table(table);
> +     return ERR_PTR(ret);

ret isn't initialized on success.

>  }
>  

regards,
dan carpenter
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to