@@ -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]);
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(-)