[3/7,media] ds3000: properly report register read errors
Commit Message
This brings both ds3000_readreg() and ds3000_tuner_readreg() in line
with ds3000_writereg() and ds3000_tuner_writereg() respectively.
Signed-off-by: Rémi Cardona <remi.cardona@smartjog.com>
---
drivers/media/dvb-frontends/ds3000.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
Comments
On 09/28/2012 03:59 PM, Rémi Cardona wrote:
> This brings both ds3000_readreg() and ds3000_tuner_readreg() in line
> with ds3000_writereg() and ds3000_tuner_writereg() respectively.
>
> Signed-off-by: Rémi Cardona <remi.cardona@smartjog.com>
Reviewed-by: Antti Palosaari <crope@iki.fi>
> ---
> drivers/media/dvb-frontends/ds3000.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/dvb-frontends/ds3000.c b/drivers/media/dvb-frontends/ds3000.c
> index 474f26e..6752222 100644
> --- a/drivers/media/dvb-frontends/ds3000.c
> +++ b/drivers/media/dvb-frontends/ds3000.c
> @@ -340,7 +340,7 @@ static int ds3000_readreg(struct ds3000_state *state, u8 reg)
>
> if (ret != 2) {
> printk(KERN_ERR "%s: reg=0x%x(error=%d)\n", __func__, reg, ret);
> - return ret;
> + return -EREMOTEIO;
> }
>
> dprintk("%s: read reg 0x%02x, value 0x%02x\n", __func__, reg, b1[0]);
> @@ -367,12 +367,15 @@ static int ds3000_tuner_readreg(struct ds3000_state *state, u8 reg)
> }
> };
>
> - ds3000_writereg(state, 0x03, 0x12);
> - ret = i2c_transfer(state->i2c, msg, 2);
> + ret = ds3000_writereg(state, 0x03, 0x12);
> + if (ret < 0) {
> + return -EREMOTEIO;
> + }
>
> + ret = i2c_transfer(state->i2c, msg, 2);
> if (ret != 2) {
> printk(KERN_ERR "%s: reg=0x%x(error=%d)\n", __func__, reg, ret);
> - return ret;
> + return -EREMOTEIO;
> }
>
> dprintk("%s: read reg 0x%02x, value 0x%02x\n", __func__, reg, b1[0]);
>
@@ -340,7 +340,7 @@ static int ds3000_readreg(struct ds3000_state *state, u8 reg)
if (ret != 2) {
printk(KERN_ERR "%s: reg=0x%x(error=%d)\n", __func__, reg, ret);
- return ret;
+ return -EREMOTEIO;
}
dprintk("%s: read reg 0x%02x, value 0x%02x\n", __func__, reg, b1[0]);
@@ -367,12 +367,15 @@ static int ds3000_tuner_readreg(struct ds3000_state *state, u8 reg)
}
};
- ds3000_writereg(state, 0x03, 0x12);
- ret = i2c_transfer(state->i2c, msg, 2);
+ ret = ds3000_writereg(state, 0x03, 0x12);
+ if (ret < 0) {
+ return -EREMOTEIO;
+ }
+ ret = i2c_transfer(state->i2c, msg, 2);
if (ret != 2) {
printk(KERN_ERR "%s: reg=0x%x(error=%d)\n", __func__, reg, ret);
- return ret;
+ return -EREMOTEIO;
}
dprintk("%s: read reg 0x%02x, value 0x%02x\n", __func__, reg, b1[0]);