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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to