summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevendra Naga <devendra.aaru@gmail.com>2012-06-07 18:49:26 +0200
committerLinus Walleij <linus.walleij@linaro.org>2012-06-12 13:35:32 +0200
commitc71157c54a4f86e4f355dc6952268e8536013502 (patch)
treecb21f82ff8496262bba2271a478249507a441ffc
parentpinctrl: pinctrl-imx: free allocated pinctrl_map structure only once and use ... (diff)
downloadlinux-c71157c54a4f86e4f355dc6952268e8536013502.tar.xz
linux-c71157c54a4f86e4f355dc6952268e8536013502.zip
pinctrl: pinctrl-imx: free if of_get_parent fails to get the parent node
of_get_parent can return null if no parent node found, so the allocated new_map should be freed. Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> Acked-by: Dong Aisheng <dong.aisheng@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/pinctrl/pinctrl-imx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pinctrl/pinctrl-imx.c b/drivers/pinctrl/pinctrl-imx.c
index 09f3a3083540..542b01b1f814 100644
--- a/drivers/pinctrl/pinctrl-imx.c
+++ b/drivers/pinctrl/pinctrl-imx.c
@@ -173,8 +173,10 @@ static int imx_dt_node_to_map(struct pinctrl_dev *pctldev,
/* create mux map */
parent = of_get_parent(np);
- if (!parent)
+ if (!parent) {
+ kfree(new_map);
return -EINVAL;
+ }
new_map[0].type = PIN_MAP_TYPE_MUX_GROUP;
new_map[0].data.mux.function = parent->name;
new_map[0].data.mux.group = np->name;