[PATCH 0/9] tty: xuartps: Fix lock ups
Soren Brinkmann
soren.brinkmann at xilinx.com
Tue Nov 3 16:20:41 PST 2015
Hi,
I recently found my system locking up under some conditions. I dug
through the code a bit and the result is this collections of various
changes. Some of it may not be required and has just been created out of
half-baked theories and re-reading the documentation. The actual failing
scenarios seem to be:
- RX IRQ conditions are handled while the receiver is disabled, leaving
the driver in an infinite loop
- console_put_char seems to be interrupted by uart_shutdown disabling
the transmitter while/just before printing
I.e. overall I tried to serialize all operations using the port lock to
avoid such interaction.
Sören
Sören Brinkmann (9):
tty: xuartps: Beautify read-modify writes
tty: xuartps: Use spinlock to serialize HW access
tty: xuartps: Always enable transmitter in start_tx
tty: xuartps: Clear interrupt status register in shutdown
tty: xuartps: Improve startup function
tty: xuartps: Keep lock for whole ISR
tty: xuartps: Acquire port lock for shutdown
tty: xuartps: Move RX path into helper function
tty: xuartps: Only handle RX IRQs when RX is enabled
drivers/tty/serial/xilinx_uartps.c | 129 ++++++++++++++++++++++---------------
1 file changed, 78 insertions(+), 51 deletions(-)
--
2.6.2.3.ga463a5b
More information about the linux-arm-kernel
mailing list