[U-Boot] [PATCH 3/4 v3] cmd: mtd: Don't use with negative return codes for shell commands
Stefan Roese
sr at denx.de
Thu Aug 9 06:22:48 UTC 2018
When negative return codes are used in commands (do_foo()), the shell
prints these messages:
exit not allowed from main input shell.
Change the return codes in the new mtd commands to use only positive
values and these annoying warnings are gone.
Signed-off-by: Stefan Roese <sr at denx.de>
Cc: Miquel Raynal <miquel.raynal at bootlin.com>
Cc: Boris Brezillon <boris.brezillon at bootlin.com>
Cc: Jagan Teki <jagan at openedev.com>
Reviewed-by: Boris Brezillon <boris.brezillon at bootlin.com>
---
v3:
- No changes
v2:
- Use CMD_RET_FAILURE as return value as suggested by Boris
cmd/mtd.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/cmd/mtd.c b/cmd/mtd.c
index 9f552e7c4a..b0ad0616cc 100644
--- a/cmd/mtd.c
+++ b/cmd/mtd.c
@@ -188,7 +188,7 @@ static int do_mtd_list(void)
if (!dev_nb) {
printf("No MTD device found\n");
- return -EINVAL;
+ return CMD_RET_FAILURE;
}
return 0;
@@ -269,13 +269,13 @@ static int do_mtd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (mtd_is_aligned_with_min_io_size(mtd, off)) {
printf("Offset not aligned with a page (0x%x)\n",
mtd->writesize);
- return -EINVAL;
+ return CMD_RET_FAILURE;
}
if (mtd_is_aligned_with_min_io_size(mtd, len)) {
printf("Size not a multiple of a page (0x%x)\n",
mtd->writesize);
- return -EINVAL;
+ return CMD_RET_FAILURE;
}
if (dump)
@@ -285,7 +285,7 @@ static int do_mtd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (!buf) {
printf("Could not map/allocate the user buffer\n");
- return -ENOMEM;
+ return CMD_RET_FAILURE;
}
printf("%s %lldB (%d page(s)) at offset 0x%08llx%s%s\n",
@@ -306,7 +306,7 @@ static int do_mtd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (ret) {
printf("%s on %s failed with error %d\n",
read ? "Read" : "Write", mtd->name, ret);
- return ret;
+ return CMD_RET_FAILURE;
}
if (dump) {
@@ -346,13 +346,13 @@ static int do_mtd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (mtd_is_aligned_with_block_size(mtd, off)) {
printf("Offset not aligned with a block (0x%x)\n",
mtd->erasesize);
- return -EINVAL;
+ return CMD_RET_FAILURE;
}
if (mtd_is_aligned_with_block_size(mtd, len)) {
printf("Size not a multiple of a block (0x%x)\n",
mtd->erasesize);
- return -EINVAL;
+ return CMD_RET_FAILURE;
}
erase_op.mtd = mtd;
@@ -379,7 +379,9 @@ static int do_mtd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return CMD_RET_USAGE;
}
- return ret;
+ if (ret)
+ return CMD_RET_FAILURE;
+ return 0;
}
static char mtd_help_text[] =
--
2.18.0
More information about the U-Boot
mailing list