aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Simek2023-06-01 13:21:07 +0200
committerMichal Simek2023-06-12 13:25:02 +0200
commit04cc6f0a53a64c9ea3645c8538a27c8ceded1a6c (patch)
tree81c070b7961415fc5aa1137f4e87f7185033500f
parent322c0da86aa8ba72dd5cbcd83db60d4d3d8af4de (diff)
arm64: zynqmp: Fix command error values properly
Process errors from command via cmd_process_error() as is done on Versal. When internal function returns different number then CMD_RET_SUCCESS(0), CMD_RET_FAILURE(1) or CMD_RET_USAGE(-1) shell react on these errors by throwing an error like "exit not allowed from main input shell." that's why use cmd_process_error() to make sure that error code is all the time correct. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/d511935ba10daf95c70996fae6e6ffc374efffa0.1685618464.git.michal.simek@amd.com
-rw-r--r--board/xilinx/zynqmp/cmds.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/board/xilinx/zynqmp/cmds.c b/board/xilinx/zynqmp/cmds.c
index c1224bdf821..9d375b07550 100644
--- a/board/xilinx/zynqmp/cmds.c
+++ b/board/xilinx/zynqmp/cmds.c
@@ -394,17 +394,17 @@ static int do_zynqmp(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[])
{
struct cmd_tbl *c;
+ int ret = CMD_RET_USAGE;
if (argc < 2)
return CMD_RET_USAGE;
c = find_cmd_tbl(argv[1], &cmd_zynqmp_sub[0],
ARRAY_SIZE(cmd_zynqmp_sub));
-
if (c)
- return c->cmd(c, flag, argc, argv);
- else
- return CMD_RET_USAGE;
+ ret = c->cmd(c, flag, argc, argv);
+
+ return cmd_process_error(c, ret);
}
/***************************************************/