[media] xc5000: be sure that the firmware is there before set params
authorMauro Carvalho Chehab <m.chehab@samsung.com>
Sun, 10 Aug 2014 02:14:22 +0000 (23:14 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 21 Aug 2014 20:25:11 +0000 (15:25 -0500)
Now that xc5000_set_params() is also called during resume,
move the code that checks for the firmware to happen there.

This way, the firmware will be loaded either for analog or
digital TV when .resume callback is called.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/tuners/xc5000.c

index c1905784b08e015e26100a5150dc472116a2e63a..512fe508bcd27663baf28c2e604e53a649519fb7 100644 (file)
@@ -1040,6 +1040,11 @@ static int xc5000_set_params(struct dvb_frontend *fe)
 {
        struct xc5000_priv *priv = fe->tuner_priv;
 
+       if (xc_load_fw_and_init_tuner(fe, 0) != 0) {
+               dprintk(1, "Unable to load firmware and init tuner\n");
+               return -EINVAL;
+       }
+
        switch (priv->mode) {
        case V4L2_TUNER_RADIO:
                return xc5000_set_radio_freq(fe);
@@ -1061,11 +1066,6 @@ static int xc5000_set_analog_params(struct dvb_frontend *fe,
        if (priv->i2c_props.adap == NULL)
                return -EINVAL;
 
-       if (xc_load_fw_and_init_tuner(fe, 0) != 0) {
-               dprintk(1, "Unable to load firmware and init tuner\n");
-               return -EINVAL;
-       }
-
        switch (params->mode) {
        case V4L2_TUNER_RADIO:
                ret = xc5000_config_radio(fe, params);