V4L/DVB: cx231xx: Colibri carrier offset was wrong for PAL/M

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



cx231xx: Colibri carrier offset was wrong for PAL/M

The carrier offset check at cx231xx is incomplete. I got here one concrete case
where it is broken: if PAL/M is used (and this is the default for Pixelview SBTVD),
the routine will return zero, and the device will be programmed incorrectly,
producing a bad image. A workaround were to change to NTSC and back to PAL/M,
but the better is to just fix the code ;)

PS.: The checks there for other video standards are incomplete. the proper
solution is to fix the routine in a way that it will always return the proper
value for any valid V4L2_STD.

Cc: stable@xxxxxxxxxx    
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

diff --git a/drivers/media/video/cx231xx/cx231xx-avcore.c b/drivers/media/video/cx231xx/cx231xx-avcore.c
index 0903773..d52955c 100644
--- a/drivers/media/video/cx231xx/cx231xx-avcore.c
+++ b/drivers/media/video/cx231xx/cx231xx-avcore.c
@@ -1540,7 +1540,7 @@ u32 cx231xx_Get_Colibri_CarrierOffset(u32 mode, u32 standerd)
 
 	if (mode == TUNER_MODE_FM_RADIO) {
 		colibri_carrier_offset = 1100000;
-	} else if (standerd & (V4L2_STD_NTSC | V4L2_STD_NTSC_M_JP)) {
+	} else if (standerd & (V4L2_STD_MN | V4L2_STD_NTSC_M_JP)) {
 		colibri_carrier_offset = 4832000;  /*4.83MHz	*/
 	} else if (standerd & (V4L2_STD_PAL_B | V4L2_STD_PAL_G)) {
 		colibri_carrier_offset = 2700000;  /*2.70MHz       */
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux