On 2021/7/2 14:56, Viresh Kumar wrote:
On 02-07-21, 14:52, Jie Deng wrote:
This is not efficient. If adding the ith request to the queue fails, we can
still send
the requests before it.
Not really. Normally the requests which are sent together by clients, are linked
together, like a state machine. So if the first one is sent, but not the second
one, then there is not going to be any meaningful result of that.
The i2c core doesn't club requests together from different clients in a single
i2c_transfer() call. So you must assume i2c_transfer(), irrespective of the
number of underlying messages in it, as atomic. If you fail, the client is going
to retry everything again or assume it failed completely.
Then what is the need to design this interface as "return the number of
messages successfully
processed, or a negative value on error". Just return success or fail is
enough.
Here, we didn't break the contract with the interface "master_xfer", so
if there is a problem then
the contract may be the problem.
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization