Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -272,9 +272,6 @@ static void ch341_set_termios(struct usb_serial_port *port,

	dbg("ch341_set_termios()");

	if (!tty || !tty->termios)
		return;

	baud_rate = tty_get_baud_rate(tty);

	switch (baud_rate) {
@@ -299,6 +296,11 @@ static void ch341_set_termios(struct usb_serial_port *port,
	 * (cflag & PARENB) : parity {NONE, EVEN, ODD}
	 * (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 = {