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 <[email protected]>
---
 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


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to