From: Pranav Tilak Date: Thu, 9 Jul 2026 09:12:53 +0000 (+0530) Subject: cmd: i3c: fix list and current needing pre-selected controller X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b2062131b430e2ff3ef69dea9d8fc19e2e268c03;p=thirdparty%2Fu-boot.git cmd: i3c: fix list and current needing pre-selected controller The !currdev guard in do_i3c() was placed before the list and current handlers, causing both to fail when no controller is pre-selected. Move the guard to only protect device_list, write and read which actually need a controller. Fixes: b875409da737 ("cmd: Add i3c command support.") Signed-off-by: Pranav Tilak Reviewed-by: Dinesh Maniyam --- diff --git a/cmd/i3c.c b/cmd/i3c.c index 08957f4d447..ba99a937990 100644 --- a/cmd/i3c.c +++ b/cmd/i3c.c @@ -240,16 +240,17 @@ static int do_i3c(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (!is_i3c_subcommand(subcmd)) return handle_i3c_select(subcmd); + if (!strcmp(subcmd, "list")) + return handle_i3c_list(); + else if (!strcmp(subcmd, "current")) + return handle_i3c_current(); + if (!currdev) { printf("i3c: No I3C controller selected\n"); return CMD_RET_FAILURE; } - if (!strcmp(subcmd, "list")) - return handle_i3c_list(); - else if (!strcmp(subcmd, "current")) - return handle_i3c_current(); - else if (!strcmp(subcmd, "device_list")) + if (!strcmp(subcmd, "device_list")) return handle_i3c_device_list(); else if (!strcmp(subcmd, "write")) return handle_i3c_write(argc, argv);