diff options
author | Tom Rini <trini@konsulko.com> | 2021-09-02 18:39:28 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-09-02 18:39:28 -0400 |
commit | b35be5ed42c8453ac95432b6fbc0d42b1e91c758 (patch) | |
tree | c3f4646963db0c7010ca32b024b6947f4f144d9f /tools/env/fw_env.c | |
parent | 4bb7de1b3c09ada52ec42249221f745a6cbd3360 (diff) | |
parent | 6628813f9d400c49da4926f01833063a30151cdb (diff) |
Merge branch '2021-09-02-assorted-platform-and-bugfixes' into next
- Add position independent execution support for ARMv7
- Snapdragon, synquacer, vexpress64 fixes / improvements
- Prevent NEON register use on ARMv8
- Other assorted fixes
Diffstat (limited to 'tools/env/fw_env.c')
-rw-r--r-- | tools/env/fw_env.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index 2a61a5d6f04..e39c39e23a1 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -951,21 +951,23 @@ static int flash_read_buf(int dev, int fd, void *buf, size_t count, DEVNAME(dev), strerror(errno)); return -1; } - if (rc != readlen) { - fprintf(stderr, - "Read error on %s: Attempted to read %zd bytes but got %d\n", - DEVNAME(dev), readlen, rc); - return -1; - } #ifdef DEBUG fprintf(stderr, "Read 0x%x bytes at 0x%llx on %s\n", rc, (unsigned long long)blockstart + block_seek, DEVNAME(dev)); #endif - processed += readlen; - readlen = min(blocklen, count - processed); - block_seek = 0; - blockstart += blocklen; + processed += rc; + if (rc != readlen) { + fprintf(stderr, + "Warning on %s: Attempted to read %zd bytes but got %d\n", + DEVNAME(dev), readlen, rc); + readlen -= rc; + block_seek += rc; + } else { + blockstart += blocklen; + readlen = min(blocklen, count - processed); + block_seek = 0; + } } return processed; |