gpiolib: Don't free if pin ranges are not defined
cover gpiolib: Don't free if pin ranges are not defined
This patch fixes commit 2ab73c6d8323 ("gpio: Support GPIO controllers without pin-ranges") where an imbalance of requests and frees to the pinctrl driver were introduced.
Edmond Chung (1):
gpiolib: Don't free if pin ranges are not defined
drivers/gpio/gpiolib.c | 5 +++++ 1 file changed, 5 insertions(+)
Signature · 1 line
2.29.2.454.gaff20da3a2-goog
PATCH 1/1 gpiolib: Don't free if pin ranges are not defined
From: Edmond Chung <[email protected]>
A similar check was added in gpiochip_generic_request, but not in free. This has caused an imbalance count of request vs. free calls to the pinctrl driver. This patch is targeted to fix that issue.
--- drivers/gpio/gpiolib.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/gpio/gpiolib.c +5 -0
@@ -1806,6 +1806,11 @@ EXPORT_SYMBOL_GPL(gpiochip_generic_request);*/ void gpiochip_generic_free (struct gpio_chip *gc,unsigned offset) { +#ifdef CONFIG_PINCTRL +if (list_empty (&gc->gpiodev->pin_ranges)) +return ; +#endif +pinctrl_gpio_free (gc->gpiodev->base + offset); }EXPORT_SYMBOL_GPL (gpiochip_generic_free);
Signature · 1 line
2.29.2.454.gaff20da3a2-goog
Bartosz Golaszewski
AppliedQuoted 32 lines · Will McVicker
From: Edmond Chung <[email protected]>
A similar check was added in
gpiochip_generic_request, but not in free. This has caused an imbalance count of request vs. free calls to the pinctrl driver. This patch is targeted to fix that issue.Fixes 2ab73c6d8323 ("gpio: Support GPIO controllers without pin-ranges")Signed-off-by Edmond Chung <[email protected]>Signed-off-by Andrew Chant <[email protected]>Signed-off-by Will McVicker <[email protected]>--- drivers/gpio/gpiolib.c | 5 +++++ 1 file changed, 5 insertions(+)drivers/gpio/gpiolib.c +5
-1@@ -1806,6 +1806,11 @@ EXPORT_SYMBOL_GPL(gpiochip_generic_request);*/ void gpiochip_generic_free (struct gpio_chip *gc,unsigned offset) { +#ifdef CONFIG_PINCTRL +if (list_empty (&gc->gpiodev->pin_ranges)) +return ; +#endif +pinctrl_gpio_free (gc->gpiodev->base + offset); }EXPORT_SYMBOL_GPL (gpiochip_generic_free); --
Quoted 2 lines
2.29.2.454.gaff20da3a2-goog
Applied, thanks!
Bartosz