]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/media/common/tuners/xc5000.c
Merge branches 'bugzilla-14446', 'bugzilla-14753' and 'bugzilla-14824' into release
[mirror_ubuntu-bionic-kernel.git] / drivers / media / common / tuners / xc5000.c
index d33bf831e76c4815715a8e75291a29fcfab9f0b3..432003dded7cc65e9971eca7eaba02bb2594e81f 100644 (file)
@@ -633,8 +633,12 @@ static int xc5000_set_params(struct dvb_frontend *fe,
        struct xc5000_priv *priv = fe->tuner_priv;
        int ret;
 
-       if (xc5000_is_firmware_loaded(fe) != XC_RESULT_SUCCESS)
-               xc_load_fw_and_init_tuner(fe);
+       if (xc5000_is_firmware_loaded(fe) != XC_RESULT_SUCCESS) {
+               if (xc_load_fw_and_init_tuner(fe) != XC_RESULT_SUCCESS) {
+                       dprintk(1, "Unable to load firmware and init tuner\n");
+                       return -EINVAL;
+               }
+       }
 
        dprintk(1, "%s() frequency=%d (Hz)\n", __func__, params->frequency);
 
@@ -884,8 +888,12 @@ static int xc5000_set_analog_params(struct dvb_frontend *fe,
        if (priv->i2c_props.adap == NULL)
                return -EINVAL;
 
-       if (xc5000_is_firmware_loaded(fe) != XC_RESULT_SUCCESS)
-               xc_load_fw_and_init_tuner(fe);
+       if (xc5000_is_firmware_loaded(fe) != XC_RESULT_SUCCESS) {
+               if (xc_load_fw_and_init_tuner(fe) != XC_RESULT_SUCCESS) {
+                       dprintk(1, "Unable to load firmware and init tuner\n");
+                       return -EINVAL;
+               }
+       }
 
        switch (params->mode) {
        case V4L2_TUNER_RADIO: