of_add_memory is stuck in an endless loop when a memory bank with zero size is passed. Fix this. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- drivers/of/base.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/of/base.c b/drivers/of/base.c index 34a06c2..33dfd5a 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -1555,8 +1555,11 @@ int of_add_memory(struct device_node *node, bool dump) return -ENXIO; while (!of_address_to_resource(node, n, &res)) { - if (!resource_size(&res)) + if (!resource_size(&res)) { + n++; continue; + } + of_add_memory_bank(node, dump, n, res.start, resource_size(&res)); n++; -- 1.8.4.rc2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox