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 -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html