[PATCH 2/4] i2c: stm32f7: recover the bus on access timeout

Wolfram Sang wsa at kernel.org
Mon Nov 29 04:52:30 PST 2021


Hi Alain,

> > > +		stm32f7_i2c_wait_free_bus(i2c_dev);
> > 
> > This does only a controller reset, not a bus recovery with 9 toggling
> > pulses, or?
> 
> indeed. I might better rework this and at the same time introduce the
> bus recovery mechanism via the bus recovery callback in this driver.
> Please don't merge this patch and I will rework that.

Wait a sec. Resetting a controller at the end of a failed transfer might
make sense if the controller is otherwise in an confused state.

Full bus recovery (9 pulses) should be done at the beginning of a
transfer when SDA is low, though.

So, I'd actually suggest to apply this patch and add full bus recovery
based on SDA low at the beginning of a transfer seperately.

What do you think?

All the best,

   Wolfram

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20211129/246ab57e/attachment.sig>


More information about the linux-arm-kernel mailing list