[PATCH 5/6] fw_env: move "erasesize" calculation up in a code

Rafał Miłecki zajec5 at gmail.com
Sat Feb 21 11:00:10 CET 2026


From: Rafał Miłecki <rafal at milecki.pl>

Calculate "erasesize" in the same place where other offsets and lengths
/ sizes are calculated. It makes code more consistent and will allow
further cleanups.

Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 tools/env/fw_env.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index 8ca6a3e5478..de3a33a380d 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -1007,6 +1007,7 @@ static int flash_write_buf(int dev, int fd, void *buf, size_t count)
 	if (DEVTYPE(dev) == MTD_ABSENT) {
 		blocklen = count;
 		erase_len = blocklen;
+		erasesize = erase_len;
 		block_seek = 0;
 		write_total = blocklen;
 	} else {
@@ -1016,6 +1017,15 @@ static int flash_write_buf(int dev, int fd, void *buf, size_t count)
 
 		/* Maximum area we may use */
 		erase_len = environment_end(dev) - erase_offset;
+		if (DEVTYPE(dev) == MTD_NANDFLASH) {
+			/*
+			 * NAND: calculate which blocks we are writing. We have
+			 * to write one block at a time to skip bad blocks.
+			 */
+			erasesize = blocklen;
+		} else {
+			erasesize = erase_len;
+		}
 
 		/* Offset inside a block */
 		block_seek = DEVOFFSET(dev) - erase_offset;
@@ -1069,16 +1079,6 @@ static int flash_write_buf(int dev, int fd, void *buf, size_t count)
 		data = buf;
 	}
 
-	if (DEVTYPE(dev) == MTD_NANDFLASH) {
-		/*
-		 * NAND: calculate which blocks we are writing. We have
-		 * to write one block at a time to skip bad blocks.
-		 */
-		erasesize = blocklen;
-	} else {
-		erasesize = erase_len;
-	}
-
 	erase.length = erasesize;
 
 	/* This only runs once on NOR flash and SPI-dataflash */
-- 
2.51.0



More information about the U-Boot mailing list