> The problem is, my driver is forcibly setting > STOP condition unless the next message is read. This likely is a problem. In Linux I2C terminology, a transfer is everything between a START and a STOP. A transfer may consist of multiple messages, connected with REP_START [1]. So, a STOP should be generated after the last message of a transfer or of I2C_M_STOP is set in a message. The latter should be super-rare because mostly you should be able to use multiple transfers with a regular STOP instead. [1] Slide 8 illustrates this: http://events17.linuxfoundation.org/sites/events/files/slides/ELCE17-WSang-I2C-Fault-Injector.pdf
Attachment:
signature.asc
Description: PGP signature