]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: regmap: Fix memleak in error path in gpio_regmap_register()
authorWentao Guan <guanwentao@uniontech.com>
Thu, 4 Dec 2025 10:13:04 +0000 (18:13 +0800)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Fri, 5 Dec 2025 08:29:58 +0000 (09:29 +0100)
Call gpiochip_remove() to free the resources allocated by
gpiochip_add_data() in error path.

Fixes: 553b75d4bfe9 ("gpio: regmap: Allow to allocate regmap-irq device")
Fixes: ae495810cffe ("gpio: regmap: add the .fixed_direction_output configuration parameter")
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>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20251204101303.30353-1-guanwentao@uniontech.com
[Bartosz: reworked the commit message]
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/gpio-regmap.c

index e5ba38e65c100202ee8268b2eca7d5b5720010f4..9581bd5ca947118c583d913a44db6f74d062facc 100644 (file)
@@ -338,7 +338,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