[PATCH 01/12] i3c: mipi-i3c-hci: Use ETIMEDOUT instead of ETIME for timeout errors

Frank Li Frank.li at nxp.com
Fri Feb 27 08:00:06 PST 2026


On Fri, Feb 27, 2026 at 04:11:38PM +0200, Adrian Hunter wrote:
> The MIPI I3C HCI driver currently returns -ETIME for various timeout
> conditions, while other I3C master drivers consistently use -ETIMEDOUT
> for the same class of errors.  Align the HCI driver with the rest of the
> subsystem by replacing all uses of -ETIME with -ETIMEDOUT.
>
> Fixes: 9ad9a52cce282 ("i3c/master: introduce the mipi-i3c-hci driver")
> Cc: stable at vger.kernel.org
> Signed-off-by: Adrian Hunter <adrian.hunter at intel.com>
> ---

Reviewed-by: Frank Li <Frank.Li at nxp.com>

>  drivers/i3c/master/mipi-i3c-hci/cmd_v1.c | 2 +-
>  drivers/i3c/master/mipi-i3c-hci/cmd_v2.c | 2 +-
>  drivers/i3c/master/mipi-i3c-hci/core.c   | 6 +++---
>  3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/i3c/master/mipi-i3c-hci/cmd_v1.c b/drivers/i3c/master/mipi-i3c-hci/cmd_v1.c
> index fe260461e7e6..831a261f6c56 100644
> --- a/drivers/i3c/master/mipi-i3c-hci/cmd_v1.c
> +++ b/drivers/i3c/master/mipi-i3c-hci/cmd_v1.c
> @@ -334,7 +334,7 @@ static int hci_cmd_v1_daa(struct i3c_hci *hci)
>  		hci->io->queue_xfer(hci, xfer, 1);
>  		if (!wait_for_completion_timeout(&done, HZ) &&
>  		    hci->io->dequeue_xfer(hci, xfer, 1)) {
> -			ret = -ETIME;
> +			ret = -ETIMEDOUT;
>  			break;
>  		}
>  		if ((RESP_STATUS(xfer->response) == RESP_ERR_ADDR_HEADER ||
> diff --git a/drivers/i3c/master/mipi-i3c-hci/cmd_v2.c b/drivers/i3c/master/mipi-i3c-hci/cmd_v2.c
> index 3729e6419581..054beee36da5 100644
> --- a/drivers/i3c/master/mipi-i3c-hci/cmd_v2.c
> +++ b/drivers/i3c/master/mipi-i3c-hci/cmd_v2.c
> @@ -275,7 +275,7 @@ static int hci_cmd_v2_daa(struct i3c_hci *hci)
>  		hci->io->queue_xfer(hci, xfer, 2);
>  		if (!wait_for_completion_timeout(&done, HZ) &&
>  		    hci->io->dequeue_xfer(hci, xfer, 2)) {
> -			ret = -ETIME;
> +			ret = -ETIMEDOUT;
>  			break;
>  		}
>  		if (RESP_STATUS(xfer[0].response) != RESP_SUCCESS) {
> diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c
> index 5879bba78164..dbe93df0c70e 100644
> --- a/drivers/i3c/master/mipi-i3c-hci/core.c
> +++ b/drivers/i3c/master/mipi-i3c-hci/core.c
> @@ -261,7 +261,7 @@ static int i3c_hci_send_ccc_cmd(struct i3c_master_controller *m,
>  		goto out;
>  	if (!wait_for_completion_timeout(&done, HZ) &&
>  	    hci->io->dequeue_xfer(hci, xfer, nxfers)) {
> -		ret = -ETIME;
> +		ret = -ETIMEDOUT;
>  		goto out;
>  	}
>  	for (i = prefixed; i < nxfers; i++) {
> @@ -340,7 +340,7 @@ static int i3c_hci_i3c_xfers(struct i3c_dev_desc *dev,
>  		goto out;
>  	if (!wait_for_completion_timeout(&done, HZ) &&
>  	    hci->io->dequeue_xfer(hci, xfer, nxfers)) {
> -		ret = -ETIME;
> +		ret = -ETIMEDOUT;
>  		goto out;
>  	}
>  	for (i = 0; i < nxfers; i++) {
> @@ -388,7 +388,7 @@ static int i3c_hci_i2c_xfers(struct i2c_dev_desc *dev,
>  		goto out;
>  	if (!wait_for_completion_timeout(&done, m->i2c.timeout) &&
>  	    hci->io->dequeue_xfer(hci, xfer, nxfers)) {
> -		ret = -ETIME;
> +		ret = -ETIMEDOUT;
>  		goto out;
>  	}
>  	for (i = 0; i < nxfers; i++) {
> --
> 2.51.0
>
>
> --
> linux-i3c mailing list
> linux-i3c at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-i3c



More information about the linux-i3c mailing list