If the offset or the size passed to the 'sf write' or 'sf read' command exceeds the size of the SPI flash displaying the command usage is not helpful. Return CMD_RET_FAILURE instead of CMD_RET_USAGE.
Use the CMD_RET_* constants instead of 0, 1, -1. Simplify a logical expression in the final return statement. Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> --- cmd/sf.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cmd/sf.c b/cmd/sf.c index cf92ac4109..272521bcec 100644 --- a/cmd/sf.c +++ b/cmd/sf.c @@ -281,33 +281,33 @@ static int do_spi_flash_read_write(int argc, char *const argv[]) loff_t offset, len, maxsize; if (argc < 3) - return -1; + return CMD_RET_USAGE; addr = hextoul(argv[1], &endp); if (*argv[1] == 0 || *endp != 0) - return -1; + return CMD_RET_USAGE; if (mtd_arg_off_size(argc - 2, &argv[2], &dev, &offset, &len, &maxsize, MTD_DEV_TYPE_NOR, flash->size)) - return -1; + return CMD_RET_FAILURE; /* Consistency checking */ if (offset + len > flash->size) { printf("ERROR: attempting %s past flash size (%#x)\n", argv[0], flash->size); - return 1; + return CMD_RET_FAILURE; } if (strncmp(argv[0], "read", 4) != 0 && flash->flash_is_unlocked && !flash->flash_is_unlocked(flash, offset, len)) { printf("ERROR: flash area is locked\n"); - return 1; + return CMD_RET_FAILURE; } buf = map_physmem(addr, len, MAP_WRBACK); if (!buf && addr) { puts("Failed to map physical memory\n"); - return 1; + return CMD_RET_FAILURE; } if (strcmp(argv[0], "update") == 0) { @@ -332,7 +332,7 @@ static int do_spi_flash_read_write(int argc, char *const argv[]) unmap_physmem(buf, len); - return ret == 0 ? 0 : 1; + return ret ? CMD_RET_FAILURE : CMD_RET_SUCCESS; } static int do_spi_flash_erase(int argc, char *const argv[]) -- 2.37.2