diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-08-14 09:26:06 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-08-14 09:35:24 +0200 |
commit | e60778e041eca978e7d859bb79198f1e3b54480d (patch) | |
tree | ea5abc1edb77e9cd06e11da6e713be295d74fc05 | |
parent | 804fd9a46985df92dd648c41c6e6bc199c536a46 (diff) | |
download | barebox-e60778e041eca978e7d859bb79198f1e3b54480d.tar.gz barebox-e60778e041eca978e7d859bb79198f1e3b54480d.tar.xz |
of: Fix endless loop in of_add_memory
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@pengutronix.de>
-rw-r--r-- | drivers/of/base.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c index 34a06c298e..33dfd5a51d 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++; |