OSDN Git Service

tty/serial: atmel_serial: BUG: stop DMA from transmitting in stop_tx
authorRichard Genoud <richard.genoud@gmail.com>
Tue, 13 Dec 2016 16:27:56 +0000 (17:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 11 Jan 2017 07:18:45 +0000 (08:18 +0100)
commit89d8232411a85b9a6b12fd5da4d07d8a138a8e0c
treea72050791b333650ecec60742926be90dabb535e
parenta121103c922847ba5010819a3f250f1f7fc84ab8
tty/serial: atmel_serial: BUG: stop DMA from transmitting in stop_tx

If we don't disable the transmitter in atmel_stop_tx, the DMA buffer
continues to send data until it is emptied.
This cause problems with the flow control (CTS is asserted and data are
still sent).

So, disabling the transmitter in atmel_stop_tx is a sane thing to do.

Tested on at91sam9g35-cm(DMA)
Tested for regressions on sama5d2-xplained(Fifo) and at91sam9g20ek(PDC)

Cc: <stable@vger.kernel.org> (beware, this won't apply before 4.3)
Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/atmel_serial.c