Re: [PATCH v3] i2c: imx: mark I2C adapter when hardware is powered down
From: Mukesh Savaliya
Date: Thu May 21 2026 - 06:17:47 EST
Thanks Carlos !
On 5/21/2026 1:57 PM, Carlos Song (OSS) wrote:
what was the reason of this hang ? I was thinking you don't have interrupts working when client requested transfer but adapter was suspended. Please correct me if wrong.
-----Original Message-----
From: Mukesh Savaliya <mukesh.savaliya@xxxxxxxxxxxxxxxx>
Sent: Thursday, May 21, 2026 3:40 PM
To: Carlos Song (OSS) <carlos.song@xxxxxxxxxxx>; o.rempel@xxxxxxxxxxxxxx;
kernel@xxxxxxxxxxxxxx; andi.shyti@xxxxxxxxxx; Frank Li <frank.li@xxxxxxx>;
s.hauer@xxxxxxxxxxxxxx; festevam@xxxxxxxxx; Carlos Song
<carlos.song@xxxxxxx>; Bough Chen <haibo.chen@xxxxxxx>
Cc: linux-i2c@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx;
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
stable@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v3] i2c: imx: mark I2C adapter when hardware is powered
down
[You don't often get email from mukesh.savaliya@xxxxxxxxxxxxxxxx. Learn
why this is important at https://aka.ms/LearnAboutSenderIdentification ]
Hi Carlos,
On 5/20/2026 3:45 PM, Carlos Song (OSS) wrote:
From: Carlos Song <carlos.song@xxxxxxx>I2C transfers.
Mark the I2C adapter as suspended during system suspend to block
further transfers, and resume it on system resume. This prevents
potential hangs when the hardware is powered down but clients still attempt
And it would be good to mention the actual problem and why/how it occurred.
Okay, may be actual problem description can help me.Code changes looks fine to me but have comment on commit log.
It seems, you are adding support of _noirq() callbacks to allow transfers during
suspend/resume noirq phase of PM.
Would it make sense if you can write "Replace system PM callbacks with noirq
PM callbacks" OR "Allow transfers during _noirq phase of the PM ops" instead of
"mark I2C adapter when hardware is powered down" ?
Hi,
Thank you for your comments!
But this patch is added is not for support noirq PM callback or transfer in noirq phase.
In fact, this fix is to mark the I2C adapter as suspended during system noirq suspend to block furthercompletely Makes sense. Please help add how this problem occurred and why ? So the change/fix will be good to understand against it.
transfers, and resume it on system noirq resume. This is to prohibit I2C device calling the I2C controller
after the system noirq suspend and before noirq resume, because at this time the I2C instance is powered
off or the clock is disabled ... So I want to keep current commit. How do you think?
Carlos Song