Re: [RFC][PATCH 2/2] PM: Rework handling of interrupts during suspend-resume

Linus Torvalds
2009-02-26T03:37:55Z

On Wed, 25 Feb 2009, Arve Hjønnevåg wrote:
>
> That would not work without wakelocks support, since the interrupt
> could occur after suspend_late which is the last chance for the driver
> to abort sleep. (The patch also breaks my current wakelock
> implementation since I use a suspend_late hook to abort sleep, but
> this should be easy to fix)

Since this must be some very deep arch-specific thing anyway, just make
the dang thing be a "sysdev". At that point, its "suspend" function gets
called way later (at which point CPU interrupts are off).

> > Hm, if that solves the problem then it would be nice to have a
> > new IRQF_NO_SUSPEND flag for it, in addition to IRQF_TIMER:
>
> I think the right fix is for any interrupt that has IRQ_WAKEUP set to
> abort suspend if it is pending. I don't know if anyone relies on these
> interrupts being dropped now though.

We could add something like that, but quite frankly, I'd hate to unless
there is some seriously common case. If it's just an oddball hacky special
case, it's easier to just say "hey, you have that crazy system device, you
handle it yourself".

Linus