[PATCH 4/6] fw_env: unify calculation of "blockstart" in flash_write_buf()
Rafał Miłecki
zajec5 at gmail.com
Sat Feb 21 11:00:09 CET 2026
From: Rafał Miłecki <rafal at milecki.pl>
In both code paths "blockstart" is calculated the same way. Unify it.
Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
tools/env/fw_env.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index c369bda1b85..8ca6a3e5478 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -1007,7 +1007,6 @@ static int flash_write_buf(int dev, int fd, void *buf, size_t count)
if (DEVTYPE(dev) == MTD_ABSENT) {
blocklen = count;
erase_len = blocklen;
- blockstart = DEVOFFSET(dev);
block_seek = 0;
write_total = blocklen;
} else {
@@ -1018,8 +1017,6 @@ 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;
- blockstart = erase_offset;
-
/* Offset inside a block */
block_seek = DEVOFFSET(dev) - erase_offset;
@@ -1085,6 +1082,7 @@ static int flash_write_buf(int dev, int fd, void *buf, size_t count)
erase.length = erasesize;
/* This only runs once on NOR flash and SPI-dataflash */
+ blockstart = DEVOFFSET(dev);
while (processed < write_total) {
rc = flash_bad_block(fd, DEVTYPE(dev), blockstart);
if (rc < 0) /* block test failed */
--
2.51.0
More information about the U-Boot
mailing list