Hans Verkuil says: "The only place querystd can be called  is in the QUERYSTD
ioctl, all other ioctls should use the last set standard." So call the g_std()
subdevice method instead of querystd() in the driver's set_fmt() method.

Reported-by: Hans Verkuil <hverk...@xs4all.nl>
Signed-off-by: Sergei Shtylyov <sergei.shtyl...@cogentembedded.com>

---
 drivers/media/platform/soc_camera/rcar_vin.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: media_tree/drivers/media/platform/soc_camera/rcar_vin.c
===================================================================
--- media_tree.orig/drivers/media/platform/soc_camera/rcar_vin.c
+++ media_tree/drivers/media/platform/soc_camera/rcar_vin.c
@@ -1589,8 +1589,8 @@ static int rcar_vin_set_fmt(struct soc_c
                field = pix->field;
                break;
        case V4L2_FIELD_INTERLACED:
-               /* Query for standard if not explicitly mentioned _TB/_BT */
-               ret = v4l2_subdev_call(sd, video, querystd, &std);
+               /* Get the last standard if not explicitly mentioned _TB/_BT */
+               ret = v4l2_subdev_call(sd, video, g_std, &std);
                if (ret == -ENOIOCTLCMD) {
                        field = V4L2_FIELD_NONE;
                } else if (ret < 0) {

--
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