]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
fw_env: unify calculation of "blockstart" in flash_write_buf()
authorRafał Miłecki <rafal@milecki.pl>
Sat, 21 Feb 2026 10:00:09 +0000 (11:00 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 6 Mar 2026 16:32:41 +0000 (10:32 -0600)
In both code paths "blockstart" is calculated the same way. Unify it.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Tom Rini <trini@konsulko.com>
tools/env/fw_env.c

index c369bda1b858af65dbf656a0d8207de29cf4801b..8ca6a3e5478eecbb2a4a3a9b2f1ec3c9efb5ff92 100644 (file)
@@ -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 */