(EXT) [PATCH] i2c: imx: add irqf_no_suspend
Wolfram Sang
wsa at kernel.org
Sat May 21 03:24:16 PDT 2022
Hi everyone,
> > The i2c irq is masked when pcie starts a i2c transfer process
> > during noirq suspend stage. As a result, i2c transfer fails.
> > To solve the problem, IRQF_NO_SUSPEND is added to i2c bus.
> >
> > Signed-off-by: Gao Pan <b54642 at freescale.com>
> > Signed-off-by: Fugang Duan <B38611 at freescale.com>
> > Signed-off-by: Vipul Kumar <vipul_kumar at mentor.com>
The SoB from Alifer Moraes is missing, too.
> > goto rpm_disable;
> >
> > /* Request IRQ */
> > - ret = request_threaded_irq(irq, i2c_imx_isr, NULL, IRQF_SHARED,
> > + ret = request_threaded_irq(irq, i2c_imx_isr, NULL,
> > + IRQF_SHARED | IRQF_NO_SUSPEND,
> > pdev->name, i2c_imx);
> > if (ret) {
> > dev_err(&pdev->dev, "can't claim irq %d\n", irq);
>
>
> I stumbled across Documentation/power/suspend-and-interrupts.rst which states:
> > For this reason, using IRQF_NO_SUSPEND and IRQF_SHARED at the
> > same time should be avoided.
> Given this IMHO at least a comment should be inserted why this is fine. I dont
> have a full picture about the situation, but to me it seems there is a
> reference missing, or why/how does some PCIe start some I2C transfer when the
> controller is suspended already? Do I miss something?
Thank you for this comment, Alexander. I second you, this needs
explanation.
Happy hacking,
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/20220521/68be6ca6/attachment-0001.sig>
More information about the linux-arm-kernel
mailing list