[PATCH 1/2] memtest: skip memory region smaller than one page
Renaud Barbier
renaud.barbier at ge.com
Mon Jun 15 02:35:41 PDT 2015
If the size between memory regions is smaller than one page, the
size is rounded down to 0. This results in a region request failure.
This commit skips the memory region whose size is smaller than a page.
Signed-off-by: Renaud Barbier <renaud.barbier at ge.com>
---
commands/memtest.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/commands/memtest.c b/commands/memtest.c
index 9dec0ef..7561230 100644
--- a/commands/memtest.c
+++ b/commands/memtest.c
@@ -62,9 +62,11 @@ static int request_memtest_regions(struct list_head *list)
start = PAGE_ALIGN(bank->res->start);
size = PAGE_ALIGN_DOWN(bank->res->end - start + 1);
- ret = alloc_memtest_region(list, start, size);
- if (ret < 0)
- return ret;
+ if (size) {
+ ret = alloc_memtest_region(list, start, size);
+ if (ret < 0)
+ return ret;
+ }
continue;
}
@@ -95,6 +97,8 @@ static int request_memtest_regions(struct list_head *list)
continue;
size = PAGE_ALIGN_DOWN(end - start + 1);
+ if (size == 0)
+ continue;
ret = alloc_memtest_region(list, start, size);
if (ret < 0)
return ret;
@@ -108,7 +112,7 @@ static int request_memtest_regions(struct list_head *list)
start = PAGE_ALIGN(r->end);
end = bank->res->end;
size = PAGE_ALIGN_DOWN(end - start + 1);
- if (start < end && start > r->end) {
+ if (size && start < end && start > r->end) {
ret = alloc_memtest_region(list, start, size);
if (ret < 0)
return ret;
--
1.7.1
More information about the barebox
mailing list