RE: [External] Re: [PATCH] i2c: aspeed: Fix i2c bus hang in slave read

From: Tommy Huang
Date: Wed Sep 27 2023 - 00:06:54 EST


Hi Joel / Jian,

Sorry ~ I didn't observe the last mail from Jian.

My last patch was used to avoid the situation like below link.
https://lists.ozlabs.org/pipermail/openbmc/2023-August/033756.html

Because I have applied controller reset in my patch.
Therefore, I think you just need to reset the slave state by "bus->slave_state = ASPEED_I2C_SLAVE_INACTIVE" in your case.

BR,

by Tommy

> -----Original Message-----
> From: Joel Stanley <joel@xxxxxxxxx>
> Sent: Wednesday, September 27, 2023 10:43 AM
> To: Jian Zhang <zhangjian.3032@xxxxxxxxxxxxx>
> Cc: Tommy Huang <tommy_huang@xxxxxxxxxxxxxx>;
> brendan.higgins@xxxxxxxxx; benh@xxxxxxxxxxxxxxxxxxx; andrew@xxxxxxxx;
> zhangjian3032@xxxxxxxxx; yulei.sh@xxxxxxxxxxxxx;
> xiexinnan@xxxxxxxxxxxxx; open list:ARM/ASPEED I2C DRIVER
> <linux-i2c@xxxxxxxxxxxxxxx>; moderated list:ARM/ASPEED I2C DRIVER
> <openbmc@xxxxxxxxxxxxxxxx>; moderated list:ARM/ASPEED MACHINE SUPPORT
> <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>; moderated list:ARM/ASPEED
> MACHINE SUPPORT <linux-aspeed@xxxxxxxxxxxxxxxx>; open list
> <linux-kernel@xxxxxxxxxxxxxxx>
> Subject: Re: [External] Re: [PATCH] i2c: aspeed: Fix i2c bus hang in slave read
>
> On Fri, 22 Sept 2023 at 14:39, Jian Zhang <zhangjian.3032@xxxxxxxxxxxxx>
> wrote:
> > >
> > > Tommy has submitted a similar fix:
> > >
> > >
> > > https://lore.kernel.org/linux-i2c/20230906004910.4157305-1-tommy_hua
> > > ng@xxxxxxxxxxxxxx/
> > >
> > > His change is very heavy handed; it reinitialises the bus including
> > > re-parsing the device tree (!).
> > >
> > > Should we have merged this fix instead? If not, are you able to
> > > confirm that his change fixes your issue?
> >
> > I feel it's for solving the same issue, but I think this patch is
> > missing the action `bus->slave_state = ASPEED_I2C_SLAVE_INACTIVE;`,
> > which means it can't resolve my problem. @Tommy, can you help confirm
> this?
>
> You're right, it doesn't change the slave_state at all.
>
> Unfortunately, despite no acks from the maintainers, this patch has now been
> merged and backported to stable. We should complete the fix, or revert it
> asap.