[U-Boot] [PATCH] cmd/onenand.c: block align warning

Ladislav Michl ladis at linux-mips.org
Tue Sep 13 07:40:00 CEST 2016


An attempt to write non block aligned data fails silently, add warning and
set result.

Signed-off-by: Ladislav Michl <ladis at linux-mips.org>
---
 cmd/onenand.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/cmd/onenand.c b/cmd/onenand.c
index feab01a..090f835 100644
--- a/cmd/onenand.c
+++ b/cmd/onenand.c
@@ -139,6 +139,12 @@ static int onenand_block_write(loff_t to, size_t len,
 	size_t _retlen = 0;
 	int ret;
 
+	if ((to & (mtd->writesize - 1)) != 0) {
+		printf("Attempt to write non block-aligned data\n");
+		*retlen = 0;
+		return 1;
+	}
+
 	if (to == next_ofs) {
 		next_ofs = to + len;
 		to += skip_ofs;
-- 
2.1.4



More information about the U-Boot mailing list