From: Biju Das Commit f06c2a9000eb ("tty: serial: sh-sci: Fix end of transmission on SCI") made sci_transmit_chars() clear SCSCR.TE and return early on PORT_SCI once the transmit FIFO is empty. The hardware manual does not describe disabling the transmitter to end a transmission, so this special case has no basis in the documented programming sequence. Remove it and let SCI follow the same path as the other port types. A plain revert no longer applies because the driver now uses a kfifo, so the code is removed by hand. Fixes: f06c2a9000eb ("tty: serial: sh-sci: Fix end of transmission on SCI") Signed-off-by: Biju Das --- v1->v2: * No change. --- drivers/tty/serial/sh-sci.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index bd58bbfa65aa..9eb297dbc901 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c @@ -1036,13 +1036,6 @@ static void sci_transmit_chars(struct uart_port *port) c = port->x_char; port->x_char = 0; } else if (stopped || !kfifo_get(&tport->xmit_fifo, &c)) { - if (s->type == PORT_SCI && - kfifo_is_empty(&tport->xmit_fifo)) { - ctrl = sci_serial_in(port, SCSCR); - ctrl &= ~SCSCR_TE; - sci_serial_out(port, SCSCR, ctrl); - return; - } break; } -- 2.43.0