[media] r820t: use the right IF for the selected TV standard
authorMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 10 Apr 2013 00:29:40 +0000 (21:29 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 17 Apr 2013 00:26:06 +0000 (21:26 -0300)
IF is set at r820t_set_tv_standard(). So, we can't calculate
LO frequency before calling it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Tested-by: Antti Palosaari <crope@iki.fi>
drivers/media/tuners/r820t.c

index 2ecf1d2ab82f564dd5f41942b270ef22207a4796..48ff6bb75f81e2d2deaa5b257a1a9d1eec88c193 100644 (file)
@@ -1193,15 +1193,15 @@ static int generic_set_freq(struct dvb_frontend *fe,
        tuner_dbg("should set frequency to %d kHz, bw %d MHz\n",
                  freq / 1000, bw);
 
+       rc = r820t_set_tv_standard(priv, bw, type, std, delsys);
+       if (rc < 0)
+               goto err;
+
        if ((type == V4L2_TUNER_ANALOG_TV) && (std == V4L2_STD_SECAM_LC))
                lo_freq = freq - priv->int_freq;
         else
                lo_freq = freq + priv->int_freq;
 
-       rc = r820t_set_tv_standard(priv, bw, type, std, delsys);
-       if (rc < 0)
-               goto err;
-
        rc = r820t_set_mux(priv, lo_freq);
        if (rc < 0)
                goto err;