diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 490198365ce47810ae75c558cb753acb8cc2a7e8..14ab16fbaad5583f4f2a86ee8743ce485da9f678 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1354,8 +1354,10 @@ int gpiochip_add_pingroup_range(struct gpio_chip *chip, ret = pinctrl_get_group_pins(pctldev, pin_group, &pin_range->range.pins, &pin_range->range.npins); - if (ret < 0) + if (ret < 0) { + kfree(pin_range); return ret; + } pinctrl_add_gpio_range(pctldev, &pin_range->range);