summaryrefslogtreecommitdiffstats
path: root/drivers/of
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-08-13 16:47:40 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-08-14 10:03:28 +0200
commita5352dfb66f5a5183d8bab1e7e6c5e2dfde9e5d0 (patch)
tree6e9262e8f1f773cb67d8169e1f45c18493a2e821 /drivers/of
parente60778e041eca978e7d859bb79198f1e3b54480d (diff)
downloadbarebox-a5352dfb66f5a5183d8bab1e7e6c5e2dfde9e5d0.tar.gz
barebox-a5352dfb66f5a5183d8bab1e7e6c5e2dfde9e5d0.tar.xz
of: fix merge mode in of_unflatten_dtb
In merge mode a property may be overwritte with new values. When this happens the length has to be adjusted. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/of')
-rw-r--r--drivers/of/fdt.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 76d6bb1594..8481cf77ce 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -185,6 +185,7 @@ struct device_node *of_unflatten_dtb(struct device_node *root, void *infdt)
if (merge && p) {
free(p->value);
p->value = xzalloc(len);
+ p->length = len;
memcpy(p->value, nodep, len);
} else {
of_new_property(node, name, nodep, len);