AnsweredAssumed Answered

i.MX28 Application UART driver mxs-auart locks up if application is killed

Question asked by Craig McQueen on Mar 3, 2013
Latest reply on May 21, 2013 by Craig McQueen
Branched to a new discussion

E.g.:

 

1) Run picocom (or some other serial program) on the target hardware:

  picocom /dev/ttySP0

  Verify that communications to the connected device can occur normally.

2) In another console (e.g. SSH), do command:

  kill -s SIGKILL <picocom-PID>

  (where picocom-PID is obtained from ps command)

3) Restart picocom with the same command as before.

 

Observe that communications no longer work as expected in picocom. The AUART ttySP0 basically doesn't function properly until the system is restarted.

 

This situation shouldn't happen in "nominal" operation, but it might happen in various error scenarios, and it indicates that the mxs-auart driver is not very robustly written.

 

I haven't debugged this yet. Looking at the code I haven't figured out which ops in struct uart_ops would normally run in the "nominal" case, and fail in the "application killed" case.

 

Any advice on this?

Outcomes