aboutsummaryrefslogtreecommitdiff
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorGravatar Linus Walleij <linus.walleij@linaro.org> 2024-04-17 10:51:19 +0200
committerGravatar Linus Walleij <linus.walleij@linaro.org> 2024-04-17 10:51:19 +0200
commit398c9955bdead2cf027cc263c13e7bd75e9d9116 (patch)
treefe464d6342561b319b4b64fb3d7d7f08a329f034 /drivers/pinctrl
parentpinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map() (diff)
parentpinctrl: renesas: rzg2l: Execute atomically the interrupt configuration (diff)
downloadlinux-398c9955bdead2cf027cc263c13e7bd75e9d9116.tar.gz
linux-398c9955bdead2cf027cc263c13e7bd75e9d9116.tar.bz2
linux-398c9955bdead2cf027cc263c13e7bd75e9d9116.zip
Merge tag 'renesas-pinctrl-fixes-for-v6.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into fixes
pinctrl: renesas: Fixes for v6.9 - Fix a dtbs_check warning on RZ/G3S, - Fix a lockdep warning on RZ/G2L. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/renesas/pinctrl-rzg2l.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/pinctrl/renesas/pinctrl-rzg2l.c b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
index eb5a8c654260..93916553bcc7 100644
--- a/drivers/pinctrl/renesas/pinctrl-rzg2l.c
+++ b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
@@ -2063,8 +2063,17 @@ static void rzg2l_gpio_irq_restore(struct rzg2l_pinctrl *pctrl)
continue;
}
- if (!irqd_irq_disabled(data))
+ if (!irqd_irq_disabled(data)) {
+ unsigned long flags;
+
+ /*
+ * This has to be atomically executed to protect against a concurrent
+ * interrupt.
+ */
+ raw_spin_lock_irqsave(&pctrl->lock.rlock, flags);
rzg2l_gpio_irq_enable(data);
+ raw_spin_unlock_irqrestore(&pctrl->lock.rlock, flags);
+ }
}
}