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 <hverkuil@xs4all.nl>
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
                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) {