From: Johan Hovold Date: Mon, 25 Jan 2021 13:48:17 +0000 (+0100) Subject: USB: serial: cp210x: clean up auto-RTS handling X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e2f2dea34cf16e67b347ea7e9805864f03d16dcc;p=linux.git 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 --- diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c index f00b736f3cd36..cc4f63a06f9e0 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