pinctrl: pinconf-generic: add missing of_node_put()

[ Upstream commit 5ead932898 ]

of_node_put() needs to be called when jumping out of the loop, since
for_each_available_child_of_node() will increase the refcount of node.

Fixes: c7289500e2 ("pinctrl: pinconf-generic: scan also referenced phandle node")
Signed-off-by: ZhangPeng <zhangpeng362@huawei.com>
Link: https://lore.kernel.org/r/20221125070156.3535855-1-zhangpeng362@huawei.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
ZhangPeng 2022-11-25 07:01:56 +00:00 committed by Greg Kroah-Hartman
parent 075e24fd1d
commit 7fb8cc3eb6
1 changed files with 3 additions and 1 deletions

View File

@ -384,8 +384,10 @@ int pinconf_generic_dt_node_to_map(struct pinctrl_dev *pctldev,
for_each_child_of_node(np_config, np) {
ret = pinconf_generic_dt_subnode_to_map(pctldev, np, map,
&reserved_maps, num_maps, type);
if (ret < 0)
if (ret < 0) {
of_node_put(np);
goto exit;
}
}
return 0;