[PATCH] pinctrl: single: Add missing free in single_allocate_function

Francois Berder fberder at outlook.fr
Tue Dec 2 19:39:39 CET 2025


If func->pins could not be allocated, one must also free
func variable that was allocated previously.

Signed-off-by: Francois Berder <fberder at outlook.fr>
---
 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




More information about the U-Boot mailing list