Since forever this driver has had IXON and IXOFF mixed up, and has used
the latter rather than the former to enable hardware-assisted software
flow control on output.

Signed-off-by: Johan Hovold <jo...@kernel.org>
---
 drivers/usb/serial/ftdi_sio.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 7ea221d42dba..62c99871863c 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -2342,12 +2342,8 @@ static void ftdi_set_termios(struct tty_struct *tty,
        } else {
                /*
                 * Xon/Xoff code
-                *
-                * Check the IXOFF status in the iflag component of the
-                * termios structure. If IXOFF is not set, the pre-xon/xoff
-                * code is executed.
                 */
-               if (iflag & IXOFF) {
+               if (iflag & IXON) {
                        dev_dbg(ddev, "%s  request to enable xonxoff 
iflag=%04x\n",
                                __func__, iflag);
                        /* Try to enable the XON/XOFF on the ftdi_sio
@@ -2372,7 +2368,7 @@ static void ftdi_set_termios(struct tty_struct *tty,
                        }
                } else {
                        /* else clause to only run if cflag ! CRTSCTS and iflag
-                        * ! XOFF. CHECKME Assuming XON/XOFF handled by tty
+                        * ! XON. CHECKME Assuming XON/XOFF handled by tty
                         * stack - not by device */
                        dev_dbg(ddev, "%s Turning off hardware flow control\n", 
__func__);
                        if (usb_control_msg(dev,
-- 
2.17.0

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to