Re: [PATCH] i2c: imx: Fix external abort on early interrupt

From: Krzysztof Kozlowski
Date: Fri Jun 12 2020 - 09:09:23 EST


On Fri, Jun 12, 2020 at 03:00:03PM +0200, Wolfram Sang wrote:
> On Fri, Jun 12, 2020 at 02:18:06PM +0200, Marc Kleine-Budde wrote:
> > On 6/12/20 1:51 PM, Wolfram Sang wrote:
> > >
> > >> This basically kills the concept of devm for interrupts. Some other
> > >
> > > It only works when you can ensure you have all interrupts disabled (and
> > > none pending) in remove() or the error paths of probe() etc.
> >
> > But when requesting the interrupt as shared the interrupt handler can get called
> > any time, even if you have disabled the IRQ source in your IP core....The shared
> > IRQ debug code tests this.
>
> Yes, so you'd need something like
>
> if (clks_are_off)
> return IRQ_NONE;

Maybe then:
if (pm_runtime_enabled())?

The device structure should be valid at this point so the call should
work.


>
> or skip devm_ for interrupts and handle it manually. (IIRC the input
> subsystem really frowns upon devm + irqs for such reasons)
>
> D'accord?

I guess dream of managing every resource automatically is an utopia :)

Best regards,
Krzysztof