The irqchip callbacks in gpio-mxc perform register read-modify-write operations without locking, which may lead to a race condition. Add the missing locking. In case the GPIO is used as IRQ, make sure it is configured as input. Marek Vasut (2): gpio: mxc: Protect GPIO irqchip RMW with bgpio spinlock gpio: mxc: Always set GPIOs used as interrupt source to INPUT mode drivers/gpio/gpio-mxc.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) Cc: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Loic Poulain <loic.poulain@xxxxxxxxxx> Cc: Marc Zyngier <maz@xxxxxxxxxx> Cc: NXP Linux Team <linux-imx@xxxxxxx> Cc: Peng Fan <peng.fan@xxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> -- 2.35.1