lkml.org 
[lkml]   [2022]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: (EXT) [PATCH] i2c: imx: add irqf_no_suspend
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@freescale.com>
> > Signed-off-by: Fugang Duan <B38611@freescale.com>
> > Signed-off-by: Vipul Kumar <vipul_kumar@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

[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2022-05-21 12:24    [W:0.049 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site