Geert Uytterhoeven
1cf4a7efdc
serial: sh-sci: Fix race condition causing garbage during shutdown
...
If DMA is enabled and used, a burst of old data may be seen on the
serial console during "poweroff" or "reboot". uart_flush_buffer()
clears the circular buffer, but sci_port.tx_dma_len is not reset.
This leads to a circular buffer overflow, dumping (UART_XMIT_SIZE -
sci_port.tx_dma_len) bytes.
To fix this, add a .flush_buffer() callback that resets
sci_port.tx_dma_len.
Inspired by commit 31ca2c63fd ("tty/serial: atmel: fix race
condition (TX+DMA)").
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2017-05-18 16:19:16 +02:00
..
2017-05-10 09:35:42 -07:00
2017-05-09 10:01:15 -07:00
2017-05-10 09:12:30 -07:00
2017-05-10 11:33:08 -07:00
2017-04-30 12:22:14 +02:00
2017-05-10 19:13:03 -07:00
2017-05-10 13:38:18 -07:00
2017-05-12 10:43:25 -07:00
2017-05-12 09:56:30 -07:00
2017-05-09 23:21:46 +02:00
2017-05-10 11:33:08 -07:00
2017-05-12 15:43:10 -07:00
2017-05-09 15:40:28 -07:00
2017-05-09 10:01:15 -07:00
2017-05-10 19:13:03 -07:00
2017-05-12 14:28:02 +10:00
2017-05-02 19:09:35 -07:00
2017-05-04 19:15:35 -07:00
2017-04-30 11:45:31 -07:00
2017-05-08 17:15:14 -07:00
2017-05-10 19:13:03 -07:00
2017-05-08 17:36:39 -04:00
2017-05-01 23:17:37 +02:00
2017-05-10 19:13:03 -07:00
2017-05-12 11:44:13 -07:00
2017-05-13 10:25:05 -07:00
2017-05-09 15:15:47 -07:00
2017-05-12 09:56:30 -07:00
2017-05-10 19:13:03 -07:00
2017-05-08 17:15:13 -07:00
2017-05-04 07:53:04 -06:00
2017-05-05 19:33:07 -07:00
2017-05-08 17:15:13 -07:00
2017-05-10 19:13:03 -07:00
2017-05-11 10:44:22 -07:00
2017-05-10 19:13:03 -07:00
2017-05-10 19:13:03 -07:00
2017-05-13 10:23:12 -07:00
2017-05-12 10:04:09 -07:00
2017-05-12 15:43:10 -07:00
2017-05-11 11:01:56 -07:00
2017-05-09 10:01:15 -07:00
2017-05-12 10:04:09 -07:00
2017-05-10 19:13:03 -07:00
2017-05-10 19:13:03 -07:00
2017-05-02 19:09:35 -07:00
2017-05-04 19:15:35 -07:00
2017-05-12 12:02:21 -07:00
2017-04-28 23:56:16 +02:00
2017-05-01 16:15:18 -07:00
2017-05-04 19:15:35 -07:00
2017-04-30 22:17:44 +09:00
2017-05-10 11:33:08 -07:00
2017-05-09 10:01:15 -07:00
2017-05-10 11:33:08 -07:00
2017-05-10 19:37:14 -07:00
2017-05-10 11:33:08 -07:00
2017-05-12 11:44:13 -07:00
2017-05-12 10:04:09 -07:00
2017-05-10 19:13:03 -07:00
2017-05-12 11:44:13 -07:00
2017-05-10 11:20:09 -07:00
2017-05-12 11:58:45 -07:00
2017-05-18 16:19:16 +02:00
2017-05-05 19:33:07 -07:00
2017-05-05 11:36:44 -07:00
2017-05-08 17:15:12 -07:00
2017-05-11 11:12:26 -07:00
2017-05-08 17:15:10 -07:00
2017-05-02 23:41:43 +03:00
2017-05-10 19:13:03 -07:00
2017-05-09 09:12:53 -07:00
2017-05-10 11:20:09 -07:00