gpio: mxc: Unlock on error path in mxc_flip_edge()
authorDan Carpenter <error27@gmail.com>
Tue, 24 Jan 2023 15:20:26 +0000 (18:20 +0300)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 25 Jan 2023 12:33:29 +0000 (13:33 +0100)
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>
drivers/gpio/gpio-mxc.c

index 6f673b2..9d0cec4 100644 (file)
@@ -249,10 +249,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);
 }