On 24-03-21, 14:05, Jie Deng wrote: > For simplicity, the original patch sent only 1 message to vq each time . I > changed the way to send I missed those earlier discussions :) > a batch of requests in one time in order to improve efficiency according to > Jason' suggestion. I agree. > As we discussed in the previous emails, the device can raise interrupt when > some requests are still not completed > > though this is not a good operation. In this case, the remaining requests > in the vq will be ignored and > > the i2c_algorithm. master_xfer will return 1 for your example. I will > clarify this in the specs. Right, this needs to be clarified that the receiver shall generate the interrupt only once the virtqueue is empty, not in the middle of it. Or, now that I think about it a bit more, another thing we can do here is see if virtqueue_get_buf() returns NULL, if it does then we should keep expecting more messages as it may be early interrupt. What do you say ? -- viresh