diff options
-rw-r--r-- | drivers/i2c/fsl_i2c.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/i2c/fsl_i2c.c b/drivers/i2c/fsl_i2c.c index 18b8848ced8..4bc1dda005c 100644 --- a/drivers/i2c/fsl_i2c.c +++ b/drivers/i2c/fsl_i2c.c @@ -423,7 +423,6 @@ fsl_i2c_read(struct i2c_adapter *adap, u8 chip_addr, uint offset, int olen, (struct fsl_i2c_base *)i2c_base[adap->hwadapnr]; int ret = -1; /* signal error */ u8 *o = (u8 *)&offset; - int len = olen * -1; if (i2c_wait4bus(adap) < 0) return -1; @@ -437,9 +436,9 @@ fsl_i2c_read(struct i2c_adapter *adap, u8 chip_addr, uint offset, int olen, */ if (olen < 0) { if (i2c_write_addr(adap, chip_addr, I2C_WRITE_BIT, 0) != 0) - ret = __i2c_write(adap, data, len); + ret = __i2c_write(adap, data, -olen); - if (ret != len) + if (ret != -olen) return -1; if (dlen && i2c_write_addr(adap, chip_addr, |