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

From: Wolfram Sang
Date: Mon Nov 29 2021 - 07:54:38 EST


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

Attachment: signature.asc
Description: PGP signature