aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Hovold <jhovold@gmail.com>2012-03-23 15:23:18 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-09 15:36:20 -0700
commitce5c9851855bab190c9a142761d54ba583ab094c (patch)
tree92a058162bc04b0f67478875b256ccbe46ed23bb
parente3fa252a0ef3d1f93bc55cefc2f707359b43c70d (diff)
downloadlinux-hpc-ce5c9851855bab190c9a142761d54ba583ab094c.tar.gz
USB: pl2303: fix DTR/RTS being raised on baud rate change
DTR/RTS should only be raised when changing baudrate from B0 and not on any baud rate change (> B0). Reported-by: Søren Holm <sgh@sgh.dk> Cc: stable <stable@vger.kernel.org> Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/serial/pl2303.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index ff4a174fa5de8e..a1a9062954c471 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -420,7 +420,7 @@ static void pl2303_set_termios(struct tty_struct *tty,
control = priv->line_control;
if ((cflag & CBAUD) == B0)
priv->line_control &= ~(CONTROL_DTR | CONTROL_RTS);
- else
+ else if ((old_termios->c_cflag & CBAUD) == B0)
priv->line_control |= (CONTROL_DTR | CONTROL_RTS);
if (control != priv->line_control) {
control = priv->line_control;