[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <9e72018c-e46e-4e55-83e4-503da4d022fc@sabinyo.mountain>
Date: Tue, 15 Jul 2025 17:58:34 -0500
From: Dan Carpenter <dan.carpenter@...aro.org>
To: Bartosz Golaszewski <bartosz.golaszewski@...aro.org>
Cc: Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>, linux-gpio@...r.kernel.org,
linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org
Subject: [PATCH next] gpio: viperboard: Unlock on error in
vprbrd_gpiob_direction_output()
Unlock before returning if vprbrd_gpiob_setdir() fails.
Fixes: 55e2d1eec110 ("gpio: viperboard: use new GPIO line value setter callbacks")
Signed-off-by: Dan Carpenter <dan.carpenter@...aro.org>
---
drivers/gpio/gpio-viperboard.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpio/gpio-viperboard.c b/drivers/gpio/gpio-viperboard.c
index 3eba77f981d3..e8e906b54d51 100644
--- a/drivers/gpio/gpio-viperboard.c
+++ b/drivers/gpio/gpio-viperboard.c
@@ -378,15 +378,13 @@ static int vprbrd_gpiob_direction_output(struct gpio_chip *chip,
gpio->gpiob_out |= (1 << offset);
mutex_lock(&vb->lock);
-
ret = vprbrd_gpiob_setdir(vb, offset, 1);
+ mutex_unlock(&vb->lock);
if (ret) {
dev_err(chip->parent, "usb error setting pin to output\n");
return ret;
}
- mutex_unlock(&vb->lock);
-
return vprbrd_gpiob_set(chip, offset, value);
}
--
2.47.2
Powered by blists - more mailing lists