Commit 73f59308 authored by Alan Cox's avatar Alan Cox Committed by Greg Kroah-Hartman

USB: ch341: fix termios handling

The ch341 currently doesn't support most of the hardware setting.  So to keep
the termios data right we propogate the old termios hardware values back then
encode the speed.
Signed-off-by: default avatarAlan Cox <alan@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 7cc7ee28
...@@ -272,9 +272,6 @@ static void ch341_set_termios(struct usb_serial_port *port, ...@@ -272,9 +272,6 @@ static void ch341_set_termios(struct usb_serial_port *port,
dbg("ch341_set_termios()"); dbg("ch341_set_termios()");
if (!tty || !tty->termios)
return;
baud_rate = tty_get_baud_rate(tty); baud_rate = tty_get_baud_rate(tty);
switch (baud_rate) { switch (baud_rate) {
...@@ -299,6 +296,11 @@ static void ch341_set_termios(struct usb_serial_port *port, ...@@ -299,6 +296,11 @@ static void ch341_set_termios(struct usb_serial_port *port,
* (cflag & PARENB) : parity {NONE, EVEN, ODD} * (cflag & PARENB) : parity {NONE, EVEN, ODD}
* (cflag & CSTOPB) : stop bits [1, 2] * (cflag & CSTOPB) : stop bits [1, 2]
*/ */
/* Copy back the old hardware settings */
tty_termios_copy_hw(tty->termios, old_termios);
/* And re-encode with the new baud */
tty_encode_baud_rate(tty, baud_rate, baud_rate);
} }
static struct usb_driver ch341_driver = { static struct usb_driver ch341_driver = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment