[PATCH 1/2] memtest: skip memory region smaller than one page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxx>
---
 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
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux