[media] m88ds3103: possible uninitialized scalar variable
authorAntti Palosaari <crope@iki.fi>
Sat, 1 Feb 2014 15:58:28 +0000 (12:58 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Wed, 12 Mar 2014 11:04:52 +0000 (08:04 -0300)
It was possible that tuner_frequency variable, used for carrier offset
compensation, was uninitialized. That happens when tuner
.get_frequency() callback is not defined.

Currently that case is not possible as only used tuner has this callback.

Coverity CID 1166057: Uninitialized scalar variable (UNINIT)

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/dvb-frontends/m88ds3103.c

index c0a78d90b5eb9436fc0e724afac53febb301f75a..b8f8df0730799339f9b5905a160449b31da7d5e1 100644 (file)
@@ -271,6 +271,13 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
                ret = fe->ops.tuner_ops.get_frequency(fe, &tuner_frequency);
                if (ret)
                        goto err;
+       } else {
+               /*
+                * Use nominal target frequency as tuner driver does not provide
+                * actual frequency used. Carrier offset calculation is not
+                * valid.
+                */
+               tuner_frequency = c->frequency;
        }
 
        /* reset */