aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/ftdi_sio.c
diff options
context:
space:
mode:
authorJohan Hovold <jhovold@gmail.com>2010-09-12 10:31:45 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-10-22 13:21:48 -0400
commit677aeafe19e88c282af74564048243ccabb1c590 (patch)
treeeae0d1d254351f391c49893d75a441241c975b81 /drivers/usb/serial/ftdi_sio.c
parent1f8dd0154e09220be346819b85d195c791bb0f0b (diff)
USB: ftdi_sio: revert "USB: ftdi_sio: fix DTR/RTS line modes"
This reverts commit 6a1a82df91fa0eb1cc76069a9efe5714d087eccd. RTS and DTR should not be modified based on CRTSCTS when calling set_termios. Modem control lines are raised at port open by the tty layer and should stay raised regardless of whether hardware flow control is enabled or not. This is in conformance with the way serial ports work today and many applications depend on this behaviour to be able to talk to hardware implementing hardware flow control (without the applications actually using it). Hardware which expects different behaviour on these lines can always use TIOCMSET/TIOCMBI[SC] after port open to change them. Reported-by: Daniel Mack <daniel@caiaq.de> Reported-by: Dave Mielke <dave@mielke.cc> Signed-off-by: Johan Hovold <jhovold@gmail.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/ftdi_sio.c')
-rw-r--r--drivers/usb/serial/ftdi_sio.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 6e6b0da59287..42fea29637b3 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -2029,8 +2029,6 @@ static void ftdi_set_termios(struct tty_struct *tty,
2029 "urb failed to set to rts/cts flow control\n"); 2029 "urb failed to set to rts/cts flow control\n");
2030 } 2030 }
2031 2031
2032 /* raise DTR/RTS */
2033 set_mctrl(port, TIOCM_DTR | TIOCM_RTS);
2034 } else { 2032 } else {
2035 /* 2033 /*
2036 * Xon/Xoff code 2034 * Xon/Xoff code
@@ -2078,8 +2076,6 @@ static void ftdi_set_termios(struct tty_struct *tty,
2078 } 2076 }
2079 } 2077 }
2080 2078
2081 /* lower DTR/RTS */
2082 clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);
2083 } 2079 }
2084 return; 2080 return;
2085} 2081}