diff mbox

[3/6,media] ds3000: properly report register read errors

Message ID 1347614846-19046-4-git-send-email-remi.cardona@smartjog.com (mailing list archive)
State New, archived
Headers show

Commit Message

Rémi Cardona Sept. 14, 2012, 9:27 a.m. UTC
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

Antti Palosaari Sept. 16, 2012, 1:30 a.m. UTC | #1
On 09/14/2012 12:27 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>


Not related, but just guess, register 03 value 12 opens demod I2C gate.

regards
Antti
diff mbox

Patch

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