Commit 0b73da96 authored by Jorge Marques's avatar Jorge Marques Committed by Alexandre Belloni
Browse files

i3c: master: adi: Fix error propagation for CCCs



adi_i3c_master_send_ccc_cmd() always returned 0, ignoring the transfer
result populated in the completion path. As a consequence, CCC command
errors were silently dropped, including the default -ETIMEDOUT and
later overwritten by adi_i3c_master_end_xfer_locked().

Fix this by returning xfer->ret so that callers correctly receive any
transfer error codes.

Fixes: a79ac2cd ("i3c: master: Add driver for Analog Devices I3C Controller IP")
Reviewed-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Reviewed-by: default avatarFrank Li <Frank.Li@nxp.com>
Signed-off-by: default avatarJorge Marques <jorge.marques@analog.com>
Link: https://patch.msgid.link/20260323-ad4062-positive-error-fix-v3-5-30bdc68004be@analog.com


Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent ef8b5229
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -361,7 +361,7 @@ static int adi_i3c_master_send_ccc_cmd(struct i3c_master_controller *m,

	cmd->err = adi_i3c_cmd_get_err(&xfer->cmds[0]);

	return 0;
	return xfer->ret;
}

static int adi_i3c_master_i3c_xfers(struct i3c_dev_desc *dev,