[PATCH] mctp i2c: Requeue the packet when arbitration is lost

Jeremy Kerr jk at codeconstruct.com.au
Thu Nov 30 19:03:09 AEDT 2023


Hi Quan,

> If arbitration is lost, __i2c_transfer() returns -EAGAIN and the
> packet should be resent.
> 
> Requeue the packet and increase collisions count on this case.

Are you sure you want to re-queue the packet here? The i2c core would
have already retried on arbitration loss:

  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/i2c/i2c-core-base.c#n2223

With this change, we would be disregarding the limits in adap->retries
and/or adap->timeout.

Cheers,


Jeremy


More information about the openbmc mailing list