[media] bt819: fix querystd
authorHans Verkuil <hans.verkuil@cisco.com>
Wed, 29 May 2013 13:18:55 +0000 (10:18 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 17 Jun 2013 12:42:17 +0000 (09:42 -0300)
Return V4L2_STD_UNKNOWN if no signal is detected.
Otherwise AND the standard mask with the detected standards.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/i2c/bt819.c

index ae1eac0..369cf6f 100644 (file)
@@ -215,15 +215,17 @@ static int bt819_status(struct v4l2_subdev *sd, u32 *pstatus, v4l2_std_id *pstd)
        struct bt819 *decoder = to_bt819(sd);
        int status = bt819_read(decoder, 0x00);
        int res = V4L2_IN_ST_NO_SIGNAL;
-       v4l2_std_id std;
+       v4l2_std_id std = pstd ? *pstd : V4L2_STD_ALL;
 
        if ((status & 0x80))
                res = 0;
+       else
+               std = V4L2_STD_UNKNOWN;
 
        if ((status & 0x10))
-               std = V4L2_STD_PAL;
+               std &= V4L2_STD_PAL;
        else
-               std = V4L2_STD_NTSC;
+               std &= V4L2_STD_NTSC;
        if (pstd)
                *pstd = std;
        if (pstatus)