diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2016-01-10 20:24:02 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-01-28 14:17:42 -0800 |
commit | b4749b97ae41f02775967bd109a15b2e223f86be (patch) | |
tree | 6fdc10a24d49d1cf829426402fb967746bd988e7 /drivers | |
parent | 968af29836297388743d208a360bac6f1a690148 (diff) | |
download | linux-b4749b97ae41f02775967bd109a15b2e223f86be.tar.gz linux-b4749b97ae41f02775967bd109a15b2e223f86be.tar.bz2 linux-b4749b97ae41f02775967bd109a15b2e223f86be.zip |
serial: core: Perform RTS signalling before soft flow ctrl
When throttling, time is of the essence; try RTS signalling before
soft flow control, which will take longer.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/tty/serial/serial_core.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index fa7f442424cf..be9359fdf5c7 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -641,11 +641,11 @@ static void uart_throttle(struct tty_struct *tty) mask &= ~port->status; } - if (mask & UPSTAT_AUTOXOFF) - uart_send_xchar(tty, STOP_CHAR(tty)); - if (mask & UPSTAT_AUTORTS) uart_clear_mctrl(port, TIOCM_RTS); + + if (mask & UPSTAT_AUTOXOFF) + uart_send_xchar(tty, STOP_CHAR(tty)); } static void uart_unthrottle(struct tty_struct *tty) @@ -664,11 +664,11 @@ static void uart_unthrottle(struct tty_struct *tty) mask &= ~port->status; } - if (mask & UPSTAT_AUTOXOFF) - uart_send_xchar(tty, START_CHAR(tty)); - if (mask & UPSTAT_AUTORTS) uart_set_mctrl(port, TIOCM_RTS); + + if (mask & UPSTAT_AUTOXOFF) + uart_send_xchar(tty, START_CHAR(tty)); } static void uart_get_info(struct tty_port *port, struct serial_struct *retinfo) |