[PATCH] Fix to qt1010 tuner frequency selection (media/dvb)

From: Jyrki Kuoppala
Date: Mon Aug 22 2011 - 13:24:59 EST


The patch fixes frequency selection for some UHF frequencies e.g. channel 32 (562 MHz) on the qt1010 tuner. The tuner is used e.g. in the MSI Mega Sky dvb-t stick ("MSI Mega Sky 55801 DVB-T USB2.0")

One example of problem reports of the bug this fixes can be read at http://www.freak-search.com/de/thread/330303/linux-dvb_tuning_problem_with_some_frequencies_qt1010,_dvb

Applies to kernel versions 2.6.38.8, 2.6.39.4, 3.0.3 and 3.1-rc2.

Signed-off-by: Jyrki Kuoppala <jkp@xxxxxx>

diff -upr linux-source-2.6.38.orig/drivers/media/common/tuners/qt1010.c linux-source-2.6.38/drivers/media/common/tuners/qt1010.c
--- linux-source-2.6.38.orig/drivers/media/common/tuners/qt1010.c 2011-03-15 03:20:32.000000000 +0200
+++ linux-source-2.6.38/drivers/media/common/tuners/qt1010.c 2011-08-21 23:16:38.209580365 +0300
@@ -198,9 +198,10 @@ static int qt1010_set_params(struct dvb_

/* 22 */
if (freq < 450000000) rd[15].val = 0xd0; /* 450 MHz */
- else if (freq < 482000000) rd[15].val = 0xd1; /* 482 MHz */
+ else if (freq < 482000000) rd[15].val = 0xd2; /* 482 MHz */
else if (freq < 514000000) rd[15].val = 0xd4; /* 514 MHz */
- else if (freq < 546000000) rd[15].val = 0xd7; /* 546 MHz */
+ else if (freq < 546000000) rd[15].val = 0xd6; /* 546 MHz */
+ else if (freq < 578000000) rd[15].val = 0xd8; /* 578 MHz */
else if (freq < 610000000) rd[15].val = 0xda; /* 610 MHz */
else rd[15].val = 0xd0;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/