serial_core: Fix conditional start_tx on ring buffer not empty
If the serial_core ring buffer empties just as the tty layer receives an XOFF, then start_tx will never be called when the tty layer receives an XON as the serial_core ring buffer is empty. This will possibly leave a few bytes trapped in the fifo for drivers that disable the transmitter when flow controlled. Signed-off-by: Seth Bollinger <sethb@digi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
4ea8dafd24
Коммит
717f3bbab3
|
@ -89,8 +89,7 @@ static void __uart_start(struct tty_struct *tty)
|
|||
struct uart_state *state = tty->driver_data;
|
||||
struct uart_port *port = state->uart_port;
|
||||
|
||||
if (!uart_circ_empty(&state->xmit) && state->xmit.buf &&
|
||||
!tty->stopped && !tty->hw_stopped)
|
||||
if (!tty->stopped && !tty->hw_stopped)
|
||||
port->ops->start_tx(port);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче