Skip to content
Commit 31ca2c63 authored by Richard Genoud's avatar Richard Genoud Committed by Greg Kroah-Hartman
Browse files

tty/serial: atmel: fix race condition (TX+DMA)



If uart_flush_buffer() is called between atmel_tx_dma() and
atmel_complete_tx_dma(), the circular buffer has been cleared, but not
atmel_port->tx_len.
That leads to a circular buffer overflow (dumping (UART_XMIT_SIZE -
atmel_port->tx_len) bytes).

Tested-by: default avatarNicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: default avatarRichard Genoud <richard.genoud@gmail.com>
Cc: stable <stable@vger.kernel.org> # 3.12+
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a6040bc6
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment