summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteffen Trumtrar <s.trumtrar@pengutronix.de>2017-09-18 14:26:28 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2017-09-20 08:23:02 +0200
commit15af9fc8cc9e18409893d2375271d64cac76924a (patch)
tree61143d3af4bc0b9d3b69be6da667ebc27a6263b7
parent0ed5c2ad9ea24d01cc3ee6523a73f4bcc959b13c (diff)
downloadbarebox-15af9fc8cc9e18409893d2375271d64cac76924a.tar.gz
barebox-15af9fc8cc9e18409893d2375271d64cac76924a.tar.xz
memtest: fix list iteration in region setup
When memory regions start at 0, the current mem_test_request_regions function wrongly assumes that struct resource *r points at the correct region. It points to the first region however (which starts at 0). The comment states, that the code starts from the second entry. In include/linux/list.h the macro documentation however says: list_for_each_entry_from - iterate over list of given type from the current point The correct list iteration macro to use here is list_for_each_entry_continue, where the documentation says: Continue to iterate over list of given type, continuing after the current position. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--common/memtest.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/common/memtest.c b/common/memtest.c
index 8af998e883..0fc2046758 100644
--- a/common/memtest.c
+++ b/common/memtest.c
@@ -90,7 +90,7 @@ int mem_test_request_regions(struct list_head *list)
*
* Between used regions. Start from second entry.
*/
- list_for_each_entry_from(r, &bank->res->children, sibling) {
+ list_for_each_entry_continue(r, &bank->res->children, sibling) {
start = PAGE_ALIGN(r_prev->end + 1);
end = r->start - 1;
r_prev = r;