+++ /dev/null
---- 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 */