diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c index 0ddffebd7838a4a4b101bb21b5ace334013429d1..fbe1980accb6f4427e377c59e1c101136089e8d4 100644 --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c @@ -130,7 +130,10 @@ static int of_overlay_apply_single_device_node(struct of_overlay *ov, return -ENOMEM; /* NOTE: Multiple mods of created nodes not supported */ - tchild = of_get_child_by_name(target, cname); + for_each_child_of_node(target, tchild) + if (!of_node_cmp(cname, kbasename(tchild->full_name))) + break; + if (tchild != NULL) { /* new overlay phandle value conflicts with existing value */ if (child->phandle)