On 07/06/13 15:36, Grygorii Strashko wrote: > Could you check if below change will help you, pls? > iff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c > index 13d1eca..66a62e7 100644 > --- a/drivers/i2c/busses/i2c-omap.c > +++ b/drivers/i2c/busses/i2c-omap.c > @@ -615,11 +615,11 @@ static int omap_i2c_xfer_msg(struct i2c_adapter > *adap, > if (dev->cmd_err & OMAP_I2C_STAT_NACK) { > if (msg->flags & I2C_M_IGNORE_NAK) > return 0; > - if (stop) { > - w = omap_i2c_read_reg(dev, OMAP_I2C_CON_REG); > - w |= OMAP_I2C_CON_STP; > - omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, w); > - } > + > + w = omap_i2c_read_reg(dev, OMAP_I2C_CON_REG); > + w |= OMAP_I2C_CON_STP; > + omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, w); > + > return -EREMOTEIO; > } > return -EIO; With that one, I don't get timeouts, but it still doesn't work (i.e. behavior is the same as on -rc1). When I run i2cdump the first time, I see that it (probably) manages to read the first byte, as that's "00". Everything after that are 'XX'es. Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature