| From 47ac76662ca9c5852fd353093f19de3ae85f2e66 Mon Sep 17 00:00:00 2001 |
| From: Mark <dmarkh@cfl.rr.com> |
| Date: Sun, 12 Aug 2018 11:47:16 -0400 |
| Subject: tty: serial: 8250: Revert NXP SC16C2552 workaround |
| |
| From: Mark <dmarkh@cfl.rr.com> |
| |
| commit 47ac76662ca9c5852fd353093f19de3ae85f2e66 upstream. |
| |
| Revert commit ecb988a3b7985913d1f0112f66667cdd15e40711: tty: serial: |
| 8250: 8250_core: NXP SC16C2552 workaround |
| |
| The above commit causes userland application to no longer write |
| correctly its first write to a dumb terminal connected to /dev/ttyS0. |
| This commit seems to be the culprit. It's as though the TX FIFO is being |
| reset during that write. What should be displayed is: |
| |
| PSW 80000000 INST 00000000 HALT |
| // |
| |
| What is displayed is some variation of: |
| |
| T 00000000 HAL// |
| |
| Reverting this commit via this patch fixes my problem. |
| |
| Signed-off-by: Mark Hounschell <dmarkh@cfl.rr.com> |
| Fixes: ecb988a3b798 ("tty: serial: 8250: 8250_core: NXP SC16C2552 workaround") |
| Cc: stable <stable@vger.kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/tty/serial/8250/8250_port.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/drivers/tty/serial/8250/8250_port.c |
| +++ b/drivers/tty/serial/8250/8250_port.c |
| @@ -83,8 +83,7 @@ static const struct serial8250_config ua |
| .name = "16550A", |
| .fifo_size = 16, |
| .tx_loadsz = 16, |
| - .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10 | |
| - UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT, |
| + .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, |
| .rxtrig_bytes = {1, 4, 8, 14}, |
| .flags = UART_CAP_FIFO, |
| }, |