summaryrefslogtreecommitdiff
path: root/drivers/media/tuners/xc5000.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <m.chehab@samsung.com>2014-08-10 06:14:22 +0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-08-22 00:25:11 +0400
commit5275a3b6b01664317b1a0bdc95ad981dbbb62283 (patch)
tree84b8463cf336074556d7c1a93816219d8a9daf69 /drivers/media/tuners/xc5000.c
parent2930977ac5934540d876715fdf32b1dd6f405df5 (diff)
downloadlinux-5275a3b6b01664317b1a0bdc95ad981dbbb62283.tar.xz
[media] xc5000: be sure that the firmware is there before set params
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>
Diffstat (limited to 'drivers/media/tuners/xc5000.c')
-rw-r--r--drivers/media/tuners/xc5000.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/media/tuners/xc5000.c b/drivers/media/tuners/xc5000.c
index c1905784b08e..512fe508bcd2 100644
--- a/drivers/media/tuners/xc5000.c
+++ b/drivers/media/tuners/xc5000.c
@@ -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);