USB: serial: ftdi_sio: fix IXON/IXOFF mixup
authorJohan Hovold <johan@kernel.org>
Fri, 18 May 2018 13:25:47 +0000 (15:25 +0200)
committerJohan Hovold <johan@kernel.org>
Mon, 21 May 2018 08:03:49 +0000 (10:03 +0200)
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.

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/ftdi_sio.c

index 7ea221d..62c9987 100644 (file)
@@ -2342,12 +2342,8 @@ no_c_cflag_changes:
        } 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 @@ no_c_cflag_changes:
                        }
                } 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,