diff options
author | Devendra Naga <devendra.aaru@gmail.com> | 2012-06-07 18:49:26 +0200 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2012-06-12 13:35:32 +0200 |
commit | c71157c54a4f86e4f355dc6952268e8536013502 (patch) | |
tree | cb21f82ff8496262bba2271a478249507a441ffc /drivers/pinctrl | |
parent | pinctrl: pinctrl-imx: free allocated pinctrl_map structure only once and use ... (diff) | |
download | linux-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>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r-- | drivers/pinctrl/pinctrl-imx.c | 4 |
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; |