On Wed, Feb 13, 2019 at 2:14 PM Geert Uytterhoeven <geert+renesas@xxxxxxxxx> wrote: > Unlike gpio_rcar_irq_set_wake(), where this solution was based on, > pcf857x_irq_set_wake() does not need to do anything else than calling > irq_set_irq_wake() for the upstream interrupt controller. Hence there > is no reason for making this call conditional, and no longer a need for > keeping a copy of the interrupt number that also serves as a flag. > > Just propagate irq_set_irq_wake() to the upstream interrupt controller, > using the original interrupt number. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > --- > I can no longer reproduce the issue fixed by commit ffb8e44bd7617ede > ("gpio: pcf857x: Check for irq_set_irq_wake() failures") on current > kernels: if .irq_set_wake() fails, system suspend is aborted, and the > imbalance on resume never happens. > > Looking at old logs, the system used to continue suspending, leading to > the imbalance. Presumably I could run git bisect to find out when that > was changed, but that would require downgrading my cross-compiler (Linux > v4.1-rc3 didn't support building using gcc-7)... Patch applied (used some fuzzing so check the result) and incorporated Niklas' review tag. Yours. Linus Walleij