summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorFrancois Berder <[email protected]>2025-12-02 19:39:39 +0100
committerTom Rini <[email protected]>2025-12-16 11:36:41 -0600
commiteb52d3fe8a591d6daf6d01570ed19ae88b1e934d (patch)
treeeab584d5cd2ed237ca3a5fa56b9c7312fc290eed /drivers
parent87c0e413eb4077766eb9205fd73fa2e14ac0e053 (diff)
pinctrl: single: Add missing free in single_allocate_function
If func->pins could not be allocated, one must also free func variable that was allocated previously. Signed-off-by: Francois Berder <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pinctrl/pinctrl-single.c4
1 files changed, 3 insertions, 1 deletions
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;
}