Re: [PATCH v2 2/3] media/videobuf2-dma-contig: Save output from dma_map_sg

Marek Szyprowski
2015-02-11T10:43:33Z

Hello,

On 2015-02-11 11:33, Ricardo Ribalda Delgado wrote:
> dma_map_sg returns the number of areas mapped by the hardware,
> which could be different than the areas given as an input.
> The output must be saved to nent.
>
> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>

Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com>

> ---
> drivers/media/v4l2-core/videobuf2-dma-contig.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c b/drivers/media/v4l2-core/videobuf2-dma-contig.c
> index b481d20..bfb5917 100644
> --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
> +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
> @@ -299,7 +299,6 @@ static struct sg_table *vb2_dc_dmabuf_ops_map(
> /* stealing dmabuf mutex to serialize map/unmap operations */
> struct mutex *lock = &db_attach->dmabuf->lock;
> struct sg_table *sgt;
> - int ret;
>
> mutex_lock(lock);
>
> @@ -318,8 +317,9 @@ static struct sg_table *vb2_dc_dmabuf_ops_map(
> }
>
> /* mapping to the client with new direction */
> - ret = dma_map_sg(db_attach->dev, sgt->sgl, sgt->orig_nents, dma_dir);
> - if (ret <= 0) {
> + sgt->nents = dma_map_sg(db_attach->dev, sgt->sgl, sgt->orig_nents,
> + dma_dir);
> + if (!sgt->nents) {
> pr_err("failed to map scatterlist\n");
> mutex_unlock(lock);
> return ERR_PTR(-EIO);

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland