[media] omap3isp: queue: Fix the dma_map_sg() return value check
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 9 Mar 2014 20:58:37 +0000 (17:58 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Sun, 25 May 2014 14:16:18 +0000 (11:16 -0300)
dma_map_sg() can merge sglist entries, and can thus return a number of
mapped entries different than the original value. Don't consider this as
an error.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/platform/omap3isp/ispqueue.c

index 2fd254f4dbe2e8c332d7f675cfa610ff9b97ab67..479d348bb510b80d23a255ca2b930d59a9649c2d 100644 (file)
@@ -465,7 +465,7 @@ static int isp_video_buffer_prepare(struct isp_video_buffer *buf)
                          ? DMA_FROM_DEVICE : DMA_TO_DEVICE;
                ret = dma_map_sg(buf->queue->dev, buf->sgt.sgl,
                                 buf->sgt.orig_nents, direction);
-               if (ret != buf->sgt.orig_nents) {
+               if (ret <= 0) {
                        ret = -EFAULT;
                        goto done;
                }