USB: serial: ftdi_sio: fix IXON/IXOFF mixup

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>
This commit is contained in:
Johan Hovold 2018-05-18 15:25:47 +02:00
parent 79ef51894a
commit 5ada98427f
1 changed files with 2 additions and 6 deletions

View File

@ -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,