Message ID | 1423650827-16232-2-git-send-email-ricardo.ribalda@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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
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);
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> --- drivers/media/v4l2-core/videobuf2-dma-contig.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)