[PATCH 1/1] i3c: master: Fix missing 'ret' assignment in set_speed()

Mukesh Kumar Savaliya quic_msavaliy at quicinc.com
Thu Jan 9 00:50:11 PST 2025


Hi Frank, change looks good to me.

On 1/9/2025 4:25 AM, Frank Li wrote:
> Fix a probe failure in the i3c master driver that occurs when no i3c
> devices are connected to the bus.
> 
> The issue arises in `i3c_master_bus_init()` where the `ret` value is not
> updated after calling `master->ops->set_speed()`. If no devices are
> present, `ret` remains set to `I3C_ERROR_M2`, causing the code to
> incorrectly proceed to `err_bus_cleanup`.
> 
> Cc: stable at vger.kernel.org
> Fixes: aef79e189ba2 ("i3c: master: support to adjust first broadcast address speed")
> Signed-off-by: Frank Li <Frank.Li at nxp.com>
> ---
>   drivers/i3c/master.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
> index 42310c9a00c2d..53ab814b676ff 100644
> --- a/drivers/i3c/master.c
> +++ b/drivers/i3c/master.c
> @@ -1919,7 +1919,7 @@ static int i3c_master_bus_init(struct i3c_master_controller *master)
>   		goto err_bus_cleanup;
>   
>   	if (master->ops->set_speed) {
> -		master->ops->set_speed(master, I3C_OPEN_DRAIN_NORMAL_SPEED);
> +		ret = master->ops->set_speed(master, I3C_OPEN_DRAIN_NORMAL_SPEED);
>   		if (ret)
>   			goto err_bus_cleanup;
>   	}
Acked-by: Mukesh Kumar Savaliya <quic_msavaliy at quicinc.com>



More information about the linux-i3c mailing list