]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: tda8290: initialize agc gain
authorMauro Carvalho Chehab <mchehab@s-opensource.com>
Wed, 1 Nov 2017 21:05:41 +0000 (17:05 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Mon, 11 Dec 2017 18:04:50 +0000 (13:04 -0500)
The tuning logic at tda8290 relies on agc_stat and
adc_sat to be initialized. However, as warned by smatch:

drivers/media/tuners/tda8290.c:261 tda8290_set_params() error: uninitialized symbol 'agc_stat'.
drivers/media/tuners/tda8290.c:261 tda8290_set_params() error: uninitialized symbol 'adc_sat'.
drivers/media/tuners/tda8290.c:262 tda8290_set_params() error: uninitialized symbol 'adc_sat'.

That could cause an erratic behavior if PLL is not locked,
as the code will only work if
!(pll_stat & 0x80) && (adc_sat < 20)

So, initialize it to zero, in order to let the code below
to be called, with should give more chances to adjust the
tuner gain, in order to get a PLL lock.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/tuners/tda8290.c

index a59c567c55d6a096a3f5dfbe8fa91542da3cb0cd..f226e6ecc175464fb8462544fcc754c19f194211 100644 (file)
@@ -196,7 +196,7 @@ static void tda8290_set_params(struct dvb_frontend *fe,
        unsigned char addr_adc_sat  = 0x1a;
        unsigned char addr_agc_stat = 0x1d;
        unsigned char addr_pll_stat = 0x1b;
-       unsigned char adc_sat, agc_stat,
+       unsigned char adc_sat = 0, agc_stat = 0,
                      pll_stat;
        int i;