Re: [PATCH v2 1/3] i3c: Add comment for -EAGAIN in i3c_device_do_priv_xfers()

From: Miquel Raynal
Date: Tue May 07 2024 - 04:03:38 EST


Hi Frank,

Frank.Li@xxxxxxx wrote on Mon, 6 May 2024 12:40:07 -0400:

> In accordance with I3C spec ver 1.1.1 09-Jun-2021, section: 5.1.2.2.3, if
> a target requests hot join (HJ), In-Band Interrupt (IBI), or controller
> role request (CRR) during the emission of an I3C address in
> i3c_device_do_priv_xfers(), the target may win bus arbitration. In such
> cases, it is imperative to notify the I3C client driver and retry
> i3c_device_do_priv_xfers() after some delay.
>
> Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> ---
>
> Notes:
> Change from v1 to v2
> - new patch
>
> drivers/i3c/device.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/i3c/device.c b/drivers/i3c/device.c
> index 1a6a8703dbc3a..b04a55a1337d4 100644
> --- a/drivers/i3c/device.c
> +++ b/drivers/i3c/device.c
> @@ -27,6 +27,10 @@
> * This function can sleep and thus cannot be called in atomic context.
> *
> * Return: 0 in case of success, a negative error core otherwise.
> + * -EAGAIN: controller lost address arbitration. Target
> + * (IBI, HJ or controller role request) win the bus. Client
> + * driver need resend this 'xfers' some time later.

needs to resend the 'xfers'

> + * See I3C spec ver 1.1.1 09-Jun-2021. Section: 5.1.2.2.3.
> */
> int i3c_device_do_priv_xfers(struct i3c_device *dev,
> struct i3c_priv_xfer *xfers,


With this little nit,

Reviewed-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>


Thanks,
Miquèl