mbox series

[0/2] Fix kernel splats on boot with armada-37xx irqchip driver

Message ID 20220716233745.1704677-1-vladimir.oltean@nxp.com (mailing list archive)
Headers show
Series Fix kernel splats on boot with armada-37xx irqchip driver | expand

Message

Vladimir Oltean July 16, 2022, 11:37 p.m. UTC
Due to these splats on boot, lockdep disables itself on Armada 37xx and
we fail to see further useful information about real deadlocks.

For those in doubt, the approach to use raw spinlocks for irqchip
drivers has been previously discussed here and doesn't seem too
controversial.
https://lore.kernel.org/lkml/20210825205041.927788-1-vladimir.oltean@nxp.com/

Tested on the Turris MOX board.

Vladimir Oltean (2):
  pinctrl: armada-37xx: make irq_lock a raw spinlock to avoid invalid
    wait context
  pinctrl: armada-37xx: use raw spinlocks for regmap to avoid invalid
    wait context

 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 65 +++++++++++++--------
 1 file changed, 40 insertions(+), 25 deletions(-)

Comments

Linus Walleij July 18, 2022, 1:43 p.m. UTC | #1
On Sun, Jul 17, 2022 at 1:38 AM Vladimir Oltean <vladimir.oltean@nxp.com> wrote:

> Due to these splats on boot, lockdep disables itself on Armada 37xx and
> we fail to see further useful information about real deadlocks.
>
> For those in doubt, the approach to use raw spinlocks for irqchip
> drivers has been previously discussed here and doesn't seem too
> controversial.
> https://lore.kernel.org/lkml/20210825205041.927788-1-vladimir.oltean@nxp.com/
>
> Tested on the Turris MOX board.
>
> Vladimir Oltean (2):
>   pinctrl: armada-37xx: make irq_lock a raw spinlock to avoid invalid
>     wait context
>   pinctrl: armada-37xx: use raw spinlocks for regmap to avoid invalid
>     wait context

Patches applied for fixes so they get some rotation in linux-next.

Reviewers have some days to react before I send this to Torvalds.

Should these even be tagged for stable?

Yours,
Linus Walleij
Vladimir Oltean July 18, 2022, 2:06 p.m. UTC | #2
Hi Linus,

On Mon, Jul 18, 2022 at 03:43:19PM +0200, Linus Walleij wrote:
> Patches applied for fixes so they get some rotation in linux-next.
> 
> Reviewers have some days to react before I send this to Torvalds.

Thanks for doing that.

> Should these even be tagged for stable?

They could.

This specific lockdep check was introduced in commit de8f5e4f2dc1
("lockdep: Introduce wait-type checks") which appeared in v5.7.

The fixes depend upon commit 67021f25d952 ("regmap: teach regmap to
use raw spinlocks if requested in the config") which appeared in v5.15.

So at least the stable 5.15 and 5.18 kernels can benefit if lockdep is
being used - that's without any extra burden of backporting the regmap
dependency commit itself any further.