summary refs log tree commit diff
path: root/drivers/media/i2c/bt819.c
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2013-05-29 10:18:55 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-06-17 09:42:17 -0300
commitddc7f72a3d4049653114647069f8044de5f2499d (patch)
treee6d955d90ab6ad08537f4a47d6632ecc8cd949fc /drivers/media/i2c/bt819.c
parent7dd8fbbe50c01ead78483bc42f744d115afec96b (diff)
downloadlinux-ddc7f72a3d4049653114647069f8044de5f2499d.tar.gz
[media] bt819: fix querystd
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>
Diffstat (limited to 'drivers/media/i2c/bt819.c')
-rw-r--r--drivers/media/i2c/bt819.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/media/i2c/bt819.c b/drivers/media/i2c/bt819.c
index ae1eac01bbc7..369cf6ff88f7 100644
--- a/drivers/media/i2c/bt819.c
+++ b/drivers/media/i2c/bt819.c
@@ -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)