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

Signed-off-by: Ladislav Michl <la...@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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to