aboutsummaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/__init__.py
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2022-07-17 02:37:44 +0300
committerLinus Walleij <linus.walleij@linaro.org>2022-07-19 00:56:01 +0200
commit984245b66cf32c494b1e4f95f5ed6ba16b8771eb (patch)
tree664d6ea0c6c50bb1f891c238aeb06389dbc5f6b3 /scripts/gdb/linux/__init__.py
parent41ef3c1a6bb0fd4a3f81170dd17de3adbff80783 (diff)
pinctrl: armada-37xx: make irq_lock a raw spinlock to avoid invalid wait context
The irqchip->irq_set_type method is called by __irq_set_trigger() under the desc->lock raw spinlock. The armada-37xx implementation, armada_37xx_irq_set_type(), takes a plain spinlock, the kind that becomes sleepable on RT. Therefore, this is an invalid locking scheme for which we get a kernel splat stating just that ("[ BUG: Invalid wait context ]"), because the context in which the plain spinlock may sleep is atomic due to the raw spinlock. We need to go raw spinlocks all the way. Replace the driver's irq_lock with a raw spinlock, to disable preemption even on RT. Cc: <stable@vger.kernel.org> # 5.15+ Fixes: 2f227605394b ("pinctrl: armada-37xx: Add irqchip support") Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Link: https://lore.kernel.org/r/20220716233745.1704677-2-vladimir.oltean@nxp.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'scripts/gdb/linux/__init__.py')
0 files changed, 0 insertions, 0 deletions