tools: fw_env: Fix warning when reading too little
When using CONFIG_ENV_IS_IN_FAT and the config-file specifies a size larger than what U-Boot wrote into the env-file, a confusing error message is shown: $ fw_printenv Read error on /boot/uboot.env: Success Fix this by showing a different error message when read returns too little data. Signed-off-by: Harald Seiler <hws@denx.de>
This commit is contained in:
parent
95712afc17
commit
50bb682c5c
8
tools/env/fw_env.c
vendored
8
tools/env/fw_env.c
vendored
@ -946,11 +946,17 @@ static int flash_read_buf(int dev, int fd, void *buf, size_t count,
|
||||
lseek(fd, blockstart + block_seek, SEEK_SET);
|
||||
|
||||
rc = read(fd, buf + processed, readlen);
|
||||
if (rc != readlen) {
|
||||
if (rc == -1) {
|
||||
fprintf(stderr, "Read error on %s: %s\n",
|
||||
DEVNAME(dev), strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
if (rc != readlen) {
|
||||
fprintf(stderr, "Read error on %s: "
|
||||
"Attempted to read %d 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,
|
||||
|
Loading…
Reference in New Issue
Block a user