diff options
author | Dan Carpenter <error27@gmail.com> | 2023-01-24 18:20:26 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-02-01 10:34:47 +0300 |
commit | 699378c56b1d2f4123ba4ef5f49392bc86754699 (patch) | |
tree | a1da7cb7944b192f167ea64dc7197ead691f806f | |
parent | b51e3f5e86d8bff34e8c8c83fb1dc2d228173c4b (diff) | |
download | linux-699378c56b1d2f4123ba4ef5f49392bc86754699.tar.xz |
gpio: mxc: Unlock on error path in mxc_flip_edge()
[ Upstream commit 37870358616ca7fdb1e90ad1cdd791655ec54414 ]
We recently added locking to this function but one error path was
over looked. Drop the lock before returning.
Fixes: e5464277625c ("gpio: mxc: Protect GPIO irqchip RMW with bgpio spinlock")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | drivers/gpio/gpio-mxc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c index dd91908c72f1..853d9aa6b3b1 100644 --- a/drivers/gpio/gpio-mxc.c +++ b/drivers/gpio/gpio-mxc.c @@ -236,10 +236,11 @@ static void mxc_flip_edge(struct mxc_gpio_port *port, u32 gpio) } else { pr_err("mxc: invalid configuration for GPIO %d: %x\n", gpio, edge); - return; + goto unlock; } writel(val | (edge << (bit << 1)), reg); +unlock: raw_spin_unlock_irqrestore(&port->gc.bgpio_lock, flags); } |