Hi! On 11/03/15 19:35, ext Grygorii.Strashko@xxxxxxxxxx wrote: >> + if (i2c_davinci_wait_status_change(dev, DAVINCI_I2C_STR_BB, 0)) { >> + dev_warn(dev->dev, "timeout waiting for bus ready\n"); >> + davinci_i2c_recover_bus(dev); >> + i2c_davinci_init(dev); >> + /* >> + * the bus should not be busy after init, otherwise something >> + * is badly broken >> + */ > > I think you should recheck BB and return error if it's still detected. But after re-reading the datasheet, I must conclude, this is almost not possible. It will be a dead code. Reset will clear BB anyway and the only possibility to see BB set to 1 here is when another master transmits right after our reset. We cannot guarantee that we will always catch this here, so this must be any way handled over AL interrupt. -- Best regards, Alexander Sverdlin. -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html