Re: [PATCH] pinctrl: mcp23s08: Allocate irq_chip dynamic

From: Linus Walleij
Date: Fri Mar 08 2019 - 04:16:06 EST


On Tue, Mar 5, 2019 at 4:19 PM Jan KundrÃt <jan.kundrat@xxxxxxxxx> wrote:

> This commit should probably go to 5.0-stable and 4.20-stable as well

I doubt that this commit is fixing a regression, but who knows...
> If I cherry-pick the following two commits to my 5.0, my board boots once
> again:
>
> 16f4372fd7a5 pinctrl: mcp23s08: use struct_size() in devm_kzalloc()
> 19ab5ca9b77d pinctrl: mcp23s08: Allocate irq_chip dynamic

Hm weird.

> As on "why am I hitting this while nobody else did", my board has a shared
> IRQ line which is active during bootup, perhaps that might have something
> to do with this -- I don't know.

Sounds like the code in mcp23s08 .probe() should write to all
registers clearing and disabling interrupts before proceeding to
request interrupts or register the irqchip, else it will fire immediately
and cause oopses.

Yours,
Linus Walleij