[PATCH] pinctrl: berlin: fix error return code of berlin_pinctrl_build_state()

From: Meng Tang
Date: Thu Mar 03 2022 - 03:02:44 EST


When krealloc() fails and pctrl->functions is NULL, no error
return code of berlin_pinctrl_build_state() is assigned.
To fix this bug, ret is assigned with -ENOMEM when pctrl->functions
is NULL.

Signed-off-by: Meng Tang <tangmeng@xxxxxxxxxxxxx>
---
drivers/pinctrl/berlin/berlin.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
index b17a03cf87be..a073eedd71aa 100644
--- a/drivers/pinctrl/berlin/berlin.c
+++ b/drivers/pinctrl/berlin/berlin.c
@@ -233,6 +233,8 @@ static int berlin_pinctrl_build_state(struct platform_device *pdev)
pctrl->functions = krealloc(pctrl->functions,
pctrl->nfunctions * sizeof(*pctrl->functions),
GFP_KERNEL);
+ if (!pctrl->functions)
+ return -ENOMEM;

/* map functions to theirs groups */
for (i = 0; i < pctrl->desc->ngroups; i++) {
--
2.20.1