A bug in the CRTSCTS handling caused RTS to alternate between
CRTSCTS=0 => "RTS transmits active signal" and
CRTSCTS=1 => "RTS receives flow control"
instead of
CRTSCTS=0 => "RTS is statically active" and
CRTSCTS=1 => "RTS receives flow control"
This only happened after first having enabled CRTSCTS.

Signed-off-by: Konstantin Shkolnyy <konstantin.shkol...@gmail.com>
---
 drivers/usb/serial/cp210x.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
index dd47823..fef7a51 100644
--- a/drivers/usb/serial/cp210x.c
+++ b/drivers/usb/serial/cp210x.c
@@ -967,8 +967,7 @@ static void cp210x_set_termios(struct tty_struct *tty,
                } else {
                        modem_ctl[0] &= ~0x7B;
                        modem_ctl[0] |= 0x01;
-                       /* FIXME - OR here instead of assignment looks wrong */
-                       modem_ctl[4] |= 0x40;
+                       modem_ctl[4] = 0x40;
                        dev_dbg(dev, "%s - flow control = NONE\n", __func__);
                }
 
-- 
1.8.4.5

Reply via email to