summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPranav Tilak <[email protected]>2026-07-09 14:42:53 +0530
committerTom Rini <[email protected]>2026-07-22 13:10:17 -0600
commitb2062131b430e2ff3ef69dea9d8fc19e2e268c03 (patch)
tree95c063859a2d1dec7bb497f6257a01895ad5751e
parentf077a6b07be1939eb5865fb6afe60ed3c545edb0 (diff)
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 <[email protected]> Reviewed-by: Dinesh Maniyam <[email protected]>
-rw-r--r--cmd/i3c.c11
1 files 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);