This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

8250_omap driver problem on AM335x

Other Parts Discussed in Thread: AM3352

We recently discovered a very infrequent problem on our AM3352 based board that appears to be related to the 8250_omap serial driver. 

When the issue occurs typically the first byte of a sequence is dropped or changed and an extra random character is added to the end of the sequence. The problem can occur on either sent or received sequences (but so far not both at the same time). An example of the corruption is below: 

Bytes sent to AM3352:                                           5b 3e 56 50 20 3e 34 5d 4c 43 44 2e 50 4f 57 45 52 3a 4f 4e 0a
Bytes received by a process on the AM3352:   3e 56 50 20 3e 34 5d 4c 43 44 2e 50 4f 57 45 52 3a 4f 4e 0a 29

A similar type of corruption has been seen for sequences of bytes sent from the AM3352. 

Once the problem starts then all subsequent sequences sent on the offending UART will have a similar corruption until the process on the AM3352 closes the serial device and reopens it.  It should probably be noted that the protocol we are using is not high bandwidth, maybe 20 or 30 byte bursts every second or so or even lest frequently.

The problem occurs pretty infrequently, maybe 1 in 50 boot cycles, we've observed the problem on UART1(typically on the TX side), and UART3 (typically on the RX side), so far the problem has not occurred on both UARTS at the same time. UART3 is running at 115200 baud and UART1 at 19200 baud.

We have tried enabling and disabling 8250 DMA support in the kernel config but the problem persists.
Most recently we've tried switching back to the omap-serial driver and the problem appears to have gone away (it has gone over 15 hours with reboots every 40 seconds without seeing the problem) so that leads me to believe that the issue is with the 8250_omap driver. 

We are using the ti-linux-kernel 3.14.43 from: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
Commit id: b5f2e56909fb8fc02325f621e05ae01c5532d594

Since we don't really need the higher bandwidth afforded by the 8250 DMA driver we are OK with using the older omap_serial driver (if it proves to be more reliable) but I'd really like to make sure that this problem is properly reported to the devs and I'll help with debugging the issue if needed. 

Please let me know if I should post this problem to any other forums or bug databases or if any further information is needed. 

Matt S.