V4L/DVB (3117): Fix broken TV standard check.
authorHans Verkuil <hverkuil@xs4all.nl>
Mon, 9 Jan 2006 17:25:19 +0000 (15:25 -0200)
committerMauro Carvalho Chehab <mchehab@brturbo.com.br>
Mon, 9 Jan 2006 17:25:19 +0000 (15:25 -0200)
- Fix incorrect matching of TV standards leading to incorrect IFPCoff values.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
drivers/media/video/tuner-simple.c

index 9bd52993d3668448ed88bf6ae078ebb76a8677fe..95818bfcb5c0abe3da1cb1d82d972779381d2ce1 100644 (file)
@@ -902,11 +902,12 @@ static void default_set_tv_freq(struct i2c_client *c, unsigned int freq)
                171.2=16*10.70  FM Radio (at set_radio_freq)
        */
 
-       if (t->std & V4L2_STD_NTSC_M_JP) {
+       if (t->std == V4L2_STD_NTSC_M_JP) {
                IFPCoff = 940;
-       } else if (t->std & V4L2_STD_MN) {
+       } else if ((t->std & V4L2_STD_MN) &&
+                 !(t->std & ~V4L2_STD_MN)) {
                IFPCoff = 732;
-       } else if (t->std & V4L2_STD_SECAM_LC) {
+       } else if (t->std == V4L2_STD_SECAM_LC) {
                IFPCoff = 543;
        } else {
                IFPCoff = 623;