]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
i3c: master: Move entdaa error suppression
authorJorge Marques <jorge.marques@analog.com>
Mon, 23 Mar 2026 16:11:30 +0000 (17:11 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 12 Apr 2026 14:54:37 +0000 (16:54 +0200)
commit42247fffb3044dd99c405904fef78bfe6d9d58f6
tree2dacc3f20e195530298a48a3eec43571d911d42c
parent19a1b61fa623748f37f467e7813c58a2a792b90c
i3c: master: Move entdaa error suppression

Prepare to fix improper Mx positive error propagation in later commits
by handling Mx error codes where the i3c_ccc_cmd command is allocated.
The CCC ENTDAA is invoked with i3c_master_entdaa_locked() and yields
error I3C_ERROR_M2 if there are no devices active on the bus. Some
controllers may also yield if there are no more devices need an dynamic
address, since the sequence do always end in a NACK. Handle inside
i3c_master_entdaa_locked(), checking cmd->err directly. Both call sites
are updated, adi_i3c_master_do_daa() and cdns_i3c_master_do_daa().

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
Link: https://patch.msgid.link/20260323-ad4062-positive-error-fix-v3-2-30bdc68004be@analog.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master.c
drivers/i3c/master/adi-i3c-master.c
drivers/i3c/master/i3c-master-cdns.c