drivers/gpio/gpio-regmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Because gpiochip_add_data successfully done, use
err_remove_gpiochip instead of err_free_bitmap to free
such as gdev,descs..
Fixes: 553b75d4bfe9 ("gpio: regmap: Allow to allocate regmap-irq device")
CC: stable@vger.kernel.org
Co-developed-by: WangYuli <wangyl5933@chinaunicom.cn>
Signed-off-by: WangYuli <wangyl5933@chinaunicom.cn>
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
---
drivers/gpio/gpio-regmap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c
index fd986afa7db5f..f0bcb2c2c6748 100644
--- a/drivers/gpio/gpio-regmap.c
+++ b/drivers/gpio/gpio-regmap.c
@@ -310,7 +310,7 @@ struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config
config->regmap_irq_line, config->regmap_irq_flags,
0, config->regmap_irq_chip, &gpio->irq_chip_data);
if (ret)
- goto err_free_bitmap;
+ goto err_remove_gpiochip;
irq_domain = regmap_irq_get_domain(gpio->irq_chip_data);
} else
--
2.20.1
On Wed, Dec 3, 2025 at 3:05 AM Wentao Guan <guanwentao@uniontech.com> wrote:
>
> Because gpiochip_add_data successfully done, use
> err_remove_gpiochip instead of err_free_bitmap to free
> such as gdev,descs..
>
> Fixes: 553b75d4bfe9 ("gpio: regmap: Allow to allocate regmap-irq device")
> CC: stable@vger.kernel.org
> Co-developed-by: WangYuli <wangyl5933@chinaunicom.cn>
> Signed-off-by: WangYuli <wangyl5933@chinaunicom.cn>
> Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
> ---
Please use get_maintainers.pl - you have not put neither Linus nor I
in the Cc list.
Bart
+Cc: Ioana
On Wed, Dec 03, 2025 at 10:03:42AM +0800, Wentao Guan wrote:
> Because gpiochip_add_data successfully done, use
gpiochip_add_data()
> err_remove_gpiochip instead of err_free_bitmap to free
> such as gdev,descs..
What does 'gdev,desc.' stand for (also notice dot at the end)?
> Fixes: 553b75d4bfe9 ("gpio: regmap: Allow to allocate regmap-irq device")
Perhaps you also want to add this
ae495810cffe ("gpio: regmap: add the .fixed_direction_output configuration parameter")
As the patch changed the logic from the original commit.
Interestingly the 3bd44edd6c55 ("gpio: regmap: fix memory leak of gpio_regmap
structure") fixed one leak and missed this one.
...
> struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config
> config->regmap_irq_line, config->regmap_irq_flags,
> 0, config->regmap_irq_chip, &gpio->irq_chip_data);
> if (ret)
> - goto err_free_bitmap;
> + goto err_remove_gpiochip;
>
> irq_domain = regmap_irq_get_domain(gpio->irq_chip_data);
> } else
--
With Best Regards,
Andy Shevchenko
© 2016 - 2026 Red Hat, Inc.