openwrt-owl/package/boot/uboot-envtools/patches/003-nor-eraselen.patch

15 lines
388 B
Diff

--- a/fw_env.c
+++ b/fw_env.c
@@ -790,7 +790,10 @@ static int flash_write_buf (int dev, int
erase_offset = (offset / blocklen) * blocklen;
/* Maximum area we may use */
- erase_len = top_of_range - erase_offset;
+ if (mtd_type == MTD_NANDFLASH)
+ erase_len = top_of_range - erase_offset;
+ else
+ erase_len = blocklen;
blockstart = erase_offset;
/* Offset inside a block */