Hey Wolfram, On Fri, Jan 25, 2013 at 09:53:37AM +0100, Wolfram Sang wrote: > > > Assuming that recover_bus is not called on BUS_BUSY but on TIMEOUTs,, > > > this should work? > > How do you differentiate these two? You're machine boots and sees sda > > being low. How long should it wait for action on sda or scl until it can > > diagnose a timeout? > > Timeout value. I consider I2C a static bus with no hotplugging. So, > either we have seen a START bit and know we are inside a transaction or > SDA is low because a slave is in an unknown state. This is probably true in at least 9 out of 10 cases today. I wonder if that will stay as is. Up to you to ignore it. (I promise not to be offended.) > > > This scl check should not depend on skip_sda_polling, or? > > Well right. But note this might also just be a slave doing clock > > streching. > > Which is a good reason to exit recovery. Not necessarily. If a slave hangs and would need say 5 additional clocks it still can stretch the 2nd clock cycle. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- 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