diff options
author | Johan Hovold <johan@kernel.org> | 2021-01-25 16:48:17 +0300 |
---|---|---|
committer | Johan Hovold <johan@kernel.org> | 2021-02-01 12:03:56 +0300 |
commit | e2f2dea34cf16e67b347ea7e9805864f03d16dcc (patch) | |
tree | 5b71a3cdeeaa43b6dc27c2d37157d5216f527ec5 /drivers/usb | |
parent | cf00ead0bde8e47ccd3aa8a4e51cfa59bbf5e055 (diff) | |
download | linux-e2f2dea34cf16e67b347ea7e9805864f03d16dcc.tar.xz |
USB: serial: cp210x: clean up auto-RTS handling
Clear the RTS bits of the flow-control request before determining the
new value when updating the settings.
Signed-off-by: Johan Hovold <johan@kernel.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/serial/cp210x.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c index f00b736f3cd3..cc4f63a06f9e 100644 --- a/drivers/usb/serial/cp210x.c +++ b/drivers/usb/serial/cp210x.c @@ -1163,9 +1163,9 @@ static void cp210x_set_flow_control(struct tty_struct *tty, else ctl_hs |= CP210X_SERIAL_DTR_INACTIVE; + flow_repl &= ~CP210X_SERIAL_RTS_MASK; if (C_CRTSCTS(tty)) { ctl_hs |= CP210X_SERIAL_CTS_HANDSHAKE; - flow_repl &= ~CP210X_SERIAL_RTS_MASK; if (port_priv->rts) flow_repl |= CP210X_SERIAL_RTS_FLOW_CTL; else @@ -1173,7 +1173,6 @@ static void cp210x_set_flow_control(struct tty_struct *tty, port_priv->crtscts = true; } else { ctl_hs &= ~CP210X_SERIAL_CTS_HANDSHAKE; - flow_repl &= ~CP210X_SERIAL_RTS_MASK; if (port_priv->rts) flow_repl |= CP210X_SERIAL_RTS_ACTIVE; else |