Hi Wolfram, 2018-08-31 18:53 GMT+09:00 Wolfram Sang <wsa@xxxxxxxxxxxxx>: > >> The problem is, my driver is forcibly setting >> STOP condition unless the next message is read. > > This likely is a problem. Oh, my drivers were wrong from the beginning. I've sent patches. > 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. I see. I hope this is documented somewhere if it has not been yet. > 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 Awesome! I should follow "When to not use bus recovery" check-list. Thanks. -- Best Regards Masahiro Yamada