of_new_property doesn't care for existing properties and would happily
add a property that already exists leading Linux to trip over it when
creating the VFS view into the device tree.

Fix this by using of_set_property, which would delete an existing
reg property first, before adding it anew.

Signed-off-by: Ahmad Fatoum <a.fat...@pengutronix.de>
---
 common/oftree.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/common/oftree.c b/common/oftree.c
index 620de6ed5649..3e85070d113c 100644
--- a/common/oftree.c
+++ b/common/oftree.c
@@ -308,8 +308,8 @@ int of_fixup_reserved_memory(struct device_node *root, void 
*_res)
        of_write_number(reg, res->start, addr_n_cells);
        of_write_number(reg + addr_n_cells, resource_size(res), size_n_cells);
 
-       of_new_property(child, "reg", reg,
-                       (addr_n_cells + size_n_cells) * sizeof(*reg));
+       of_set_property(child, "reg", reg,
+                       (addr_n_cells + size_n_cells) * sizeof(*reg), true);
 
        return 0;
 }
-- 
2.39.2


Reply via email to