summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/dvb/dvb-usb/af9035.c76
1 files changed, 46 insertions, 30 deletions
diff --git a/drivers/media/dvb/dvb-usb/af9035.c b/drivers/media/dvb/dvb-usb/af9035.c
index 9503b2d..e8227066 100644
--- a/drivers/media/dvb/dvb-usb/af9035.c
+++ b/drivers/media/dvb/dvb-usb/af9035.c
@@ -663,52 +663,68 @@ err:
}
static int af9035_fc0011_tuner_callback(struct dvb_usb_device *d,
- int cmd, int arg)
+ int cmd, int arg)
{
- int err;
+ int ret;
switch (cmd) {
case FC0011_FE_CALLBACK_POWER:
/* Tuner enable */
- err = af9035_wr_reg_mask(d, 0xd8eb, 1, 1);
- if (err)
- return err;
- err = af9035_wr_reg_mask(d, 0xd8ec, 1, 1);
- if (err)
- return err;
- err = af9035_wr_reg_mask(d, 0xd8ed, 1, 1);
- if (err)
- return err;
+ ret = af9035_wr_reg_mask(d, 0xd8eb, 1, 1);
+ if (ret < 0)
+ goto err;
+
+ ret = af9035_wr_reg_mask(d, 0xd8ec, 1, 1);
+ if (ret < 0)
+ goto err;
+
+ ret = af9035_wr_reg_mask(d, 0xd8ed, 1, 1);
+ if (ret < 0)
+ goto err;
+
/* LED */
- err = af9035_wr_reg_mask(d, 0xd8d0, 1, 1);
- if (err)
- return err;
- err = af9035_wr_reg_mask(d, 0xd8d1, 1, 1);
- if (err)
- return err;
+ ret = af9035_wr_reg_mask(d, 0xd8d0, 1, 1);
+ if (ret < 0)
+ goto err;
+
+ ret = af9035_wr_reg_mask(d, 0xd8d1, 1, 1);
+ if (ret < 0)
+ goto err;
+
usleep_range(10000, 50000);
break;
case FC0011_FE_CALLBACK_RESET:
- err = af9035_wr_reg(d, 0xd8e9, 1);
- if (err)
- return err;
- err = af9035_wr_reg(d, 0xd8e8, 1);
- if (err)
- return err;
- err = af9035_wr_reg(d, 0xd8e7, 1);
- if (err)
- return err;
+ ret = af9035_wr_reg(d, 0xd8e9, 1);
+ if (ret < 0)
+ goto err;
+
+ ret = af9035_wr_reg(d, 0xd8e8, 1);
+ if (ret < 0)
+ goto err;
+
+ ret = af9035_wr_reg(d, 0xd8e7, 1);
+ if (ret < 0)
+ goto err;
+
usleep_range(10000, 20000);
- err = af9035_wr_reg(d, 0xd8e7, 0);
- if (err)
- return err;
+
+ ret = af9035_wr_reg(d, 0xd8e7, 0);
+ if (ret < 0)
+ goto err;
+
usleep_range(10000, 20000);
break;
default:
- return -EINVAL;
+ ret = -EINVAL;
+ goto err;
}
return 0;
+
+err:
+ pr_debug("%s: failed=%d\n", __func__, ret);
+
+ return ret;
}
static int af9035_tuner_callback(struct dvb_usb_device *d, int cmd, int arg)
OpenPOWER on IntegriCloud