media: am437x-vpfe: Setting STD to current value is not an error
authorBenoit Parrot <bparrot@ti.com>
Fri, 20 Sep 2019 17:05:48 +0000 (14:05 -0300)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Tue, 1 Oct 2019 19:12:00 +0000 (16:12 -0300)
VIDIOC_S_STD should not return an error if the value is identical
to the current one.
This error was highlighted by the v4l2-compliance test.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Acked-by: Lad Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/am437x/am437x-vpfe.c

index 03415c1..8b218f4 100644 (file)
@@ -1822,6 +1822,10 @@ static int vpfe_s_std(struct file *file, void *priv, v4l2_std_id std_id)
        if (!(sdinfo->inputs[0].capabilities & V4L2_IN_CAP_STD))
                return -ENODATA;
 
+       /* if trying to set the same std then nothing to do */
+       if (vpfe_standards[vpfe->std_index].std_id == std_id)
+               return 0;
+
        /* If streaming is started, return error */
        if (vb2_is_busy(&vpfe->buffer_queue)) {
                vpfe_err(vpfe, "%s device busy\n", __func__);