From b2062131b430e2ff3ef69dea9d8fc19e2e268c03 Mon Sep 17 00:00:00 2001 From: Pranav Tilak Date: Thu, 9 Jul 2026 14:42:53 +0530 Subject: 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 --- cmd/i3c.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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); -- cgit v1.3.1