summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/of/overlay.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
index 24e025f79299..54e5af9d7377 100644
--- a/drivers/of/overlay.c
+++ b/drivers/of/overlay.c
@@ -149,6 +149,7 @@ static int of_overlay_apply_one(struct of_overlay *ov,
149 pr_err("%s: Failed to apply single node @%s/%s\n", 149 pr_err("%s: Failed to apply single node @%s/%s\n",
150 __func__, target->full_name, 150 __func__, target->full_name,
151 child->name); 151 child->name);
152 of_node_put(child);
152 return ret; 153 return ret;
153 } 154 }
154 } 155 }
@@ -417,8 +418,10 @@ static int overlay_subtree_check(struct device_node *tree,
417 return 1; 418 return 1;
418 419
419 for_each_child_of_node(tree, child) { 420 for_each_child_of_node(tree, child) {
420 if (overlay_subtree_check(child, dn)) 421 if (overlay_subtree_check(child, dn)) {
422 of_node_put(child);
421 return 1; 423 return 1;
424 }
422 } 425 }
423 426
424 return 0; 427 return 0;