If the requested field order is not supported default to progressive as
we can't guess how the user will configure the pipeline later on.

Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
---
 drivers/media/platform/omap3isp/ispvideo.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/media/platform/omap3isp/ispvideo.c 
b/drivers/media/platform/omap3isp/ispvideo.c
index 2876f34..2fe1c46 100644
--- a/drivers/media/platform/omap3isp/ispvideo.c
+++ b/drivers/media/platform/omap3isp/ispvideo.c
@@ -631,6 +631,15 @@ isp_video_set_format(struct file *file, void *fh, struct 
v4l2_format *format)
        if (format->type != video->type)
                return -EINVAL;
 
+       /* Default to the progressive field order if the requested value is not
+        * supported (or set to ANY). The only supported orders are progressive
+        * (available on all video nodes) and alternate (available on capture
+        * nodes only).
+        */
+       if (format->fmt.pix.field != V4L2_FIELD_ALTERNATE ||
+           video->type == V4L2_BUF_TYPE_VIDEO_OUTPUT)
+               format->fmt.pix.field = V4L2_FIELD_NONE;
+
        /* Fill the bytesperline and sizeimage fields by converting to media bus
         * format and back to pixel format.
         */
-- 
1.8.5.5

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to