diff --git a/cmd/onenand.c b/cmd/onenand.c index feab01a71e3d3f77b1e66dfa26a9faa660a50d63..d97844fa7a3823e01d4d45417a9ec81b871f1e34 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;