thebolt opened a new issue, #10853: URL: https://github.com/apache/nuttx/issues/10853
We are on Nuttx 12.2.1 release, with and without commit afdce6e8c2d9557c9032c91aebc997ba555bb721 back-applied. The device is a iMXRT 1062, and communicating with an RX8900 RTC using an in-house driver. Upon upgrading from 10.0 series to 12.2, I have discovered that the lpi2c driver for imxrt has been broken. Plain 12.2.1 I have not yet got any I2C trace, but following very weird issues with it I applied commit afdce which mostly seems to resolve the issues with one exception. A sequence of write (1 byte) followed by read (7 bytes) fails, with the following I2C trace. ``` 1. STATUS: 00000001 COUNT: 1 EVENT: START/RESTART ( 5) PARM: 00000002 TIME: 1 2. STATUS: 00000000 COUNT: 0 EVENT: SENDBYTE ( 2) PARM: 00000001 TIME: -5 3. STATUS: 03000001 COUNT: 1 EVENT: START/RESTART ( 5) PARM: 00000001 TIME: 1 4. STATUS: 03000103 COUNT: 1 EVENT: RCVBYTE ( 3) PARM: 00000007 TIME: 1 ``` After that the _transfer function returns. My initial analysis is that the check on line 1597 (https://github.com/apache/nuttx/blob/071fb18501a4198b21693bc089142039bb9dc1be/arch/arm/src/imxrt/imxrt_lpi2c.c#L1597) is the issue. When the first rcvbyte isr is received we did just do a start/restart, so EPF is set, however it does not mean the _current_ message is over, only that the _last_ message was over. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org