AnsweredAssumed Answered

linux SC16IS752 driver,Receive Line Status error

Question asked by 付 奇 on Nov 6, 2017
Latest reply on Nov 14, 2017 by CarlosCasillas

Dear All,

I use the LPC3250 + SC16IS752, the SPI interface to expand two serial ports,OSC 11059200,SPI speed 4M, but now I am having problems, when the peripheral sends a large amount of data, far beyond the FIFO 64 bytes, at this time,  will receive the following error.
overrun error has occurred(LSR register)
Receive Line Status error(IIR register)
Specific kernel debugging information is as follows:

sc16is7x2 spi0.0: sc16is7x2_read_status ier=0x07 iir=0xc1 msr=0x00 lsr=0x60
sc16is7x2 spi0.0: sc16is7x2_handle_channel finished
sc16is7x2 spi0.0: sc16is7x2_handle_channel (0) irq ts=0xc3a00c00
sc16is7x2 spi0.0: sc16is7x2_read_status ier=0x07 iir=0xc6 msr=0x00 lsr=0x63
sc16is7x2 spi0.0: sc16is7x2_handle_rx (0) 64 bytes
sc16is7x2 spi0.0: +CWLAP:(3,"android",-36,"b0:d5:9d:81:10:27",11,-42,0)
+CWLAP:(2                                          (Lost some of the data here)
sc16is7x2 spi0.0: sc16is7x2_read_status ier=0x07 iir=0xc6 msr=0x00 lsr=0x63
sc16is7x2 spi0.0: sc16is7x2_handle_rx (0) 64 bytes
sc16is7x2 spi0.0: +CWLAP:(4,"重庆新赛亚二楼1",-75,"34:96:72:9c:e3:a8",1,-31
sc16is7x2 spi0.0: sc16is7x2_read_status ier=0x07 iir=0xc1 msr=0x00 lsr=0x60
sc16is7x2 spi0.0: sc16is7x2_handle_channel finished

..........................

 

The overall format of the data received should be as follows

+CWLAP:(3,"android",-36,"b0:d5:9d:81:10:27",11,-42,0)
+CWLAP:(2,"TEST",-21,"xx:xx:xx:xx:xx:xx",xx,xx,0)

+CWLAP:(4,"重庆新赛亚二楼1",-75,"34:96:72:9c:e3:a8",1,-31,0)


Does anyone encounter the same problem? How to fix this problem by modifying the driver?

Outcomes