|
@@ -538,8 +538,10 @@ static int imx1_pinctrl_parse_functions(struct device_node *np,
|
|
func->groups[i] = child->name;
|
|
func->groups[i] = child->name;
|
|
grp = &info->groups[grp_index++];
|
|
grp = &info->groups[grp_index++];
|
|
ret = imx1_pinctrl_parse_groups(child, grp, info, i++);
|
|
ret = imx1_pinctrl_parse_groups(child, grp, info, i++);
|
|
- if (ret == -ENOMEM)
|
|
|
|
|
|
+ if (ret == -ENOMEM) {
|
|
|
|
+ of_node_put(child);
|
|
return ret;
|
|
return ret;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
@@ -582,8 +584,10 @@ static int imx1_pinctrl_parse_dt(struct platform_device *pdev,
|
|
|
|
|
|
for_each_child_of_node(np, child) {
|
|
for_each_child_of_node(np, child) {
|
|
ret = imx1_pinctrl_parse_functions(child, info, ifunc++);
|
|
ret = imx1_pinctrl_parse_functions(child, info, ifunc++);
|
|
- if (ret == -ENOMEM)
|
|
|
|
|
|
+ if (ret == -ENOMEM) {
|
|
|
|
+ of_node_put(child);
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return 0;
|
|
return 0;
|