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

Reply via email to