If func->pins could not be allocated, one must also free func variable that was allocated previously.
Signed-off-by: Francois Berder <[email protected]> --- drivers/pinctrl/pinctrl-single.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index c96b293aadf..42980e097e0 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -282,8 +282,10 @@ static struct single_func *single_allocate_function(struct udevice *dev, func->pins = devm_kmalloc(dev, sizeof(unsigned int) * group_pins, GFP_KERNEL); - if (!func->pins) + if (!func->pins) { + devm_kfree(dev, func); return ERR_PTR(-ENOMEM); + } return func; } -- 2.43.0

