diff options
author | Steffen Trumtrar <s.trumtrar@pengutronix.de> | 2017-09-18 14:26:28 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-09-20 08:23:02 +0200 |
commit | 15af9fc8cc9e18409893d2375271d64cac76924a (patch) | |
tree | 61143d3af4bc0b9d3b69be6da667ebc27a6263b7 | |
parent | 0ed5c2ad9ea24d01cc3ee6523a73f4bcc959b13c (diff) | |
download | barebox-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.c | 2 |
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; |