]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm64: zynqmp: Fix command error values properly
authorMichal Simek <michal.simek@amd.com>
Thu, 1 Jun 2023 11:21:07 +0000 (13:21 +0200)
committerMichal Simek <michal.simek@amd.com>
Mon, 12 Jun 2023 11:25:02 +0000 (13:25 +0200)
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
board/xilinx/zynqmp/cmds.c

index c1224bdf821fa81478f1b8c6779f277873305bd4..9d375b075501b1936f2ea9ae00885e2362733953 100644 (file)
@@ -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);
 }
 
 /***************************************************/