From: Alan Cox Date: Mon, 28 Apr 2008 09:14:06 +0000 (-0700) Subject: Fix tty speed handling on 8250 X-Git-Tag: firefly_0821_release~21370 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=e991a2bd4fa0b2f475b67dfe8f33e8ecbdcbb40b;p=firefly-linux-kernel-4.4.55.git Fix tty speed handling on 8250 We try and write the correct speed back but the serial midlayer already mangles the speed on us and that means if we request B0 we report back B9600 when we should not. For now we'll hack around this in the drivers and serial code, pending a better long term solution. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 96a585e1cee8..6d0ce64163e5 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c @@ -2228,7 +2228,9 @@ serial8250_set_termios(struct uart_port *port, struct ktermios *termios, } serial8250_set_mctrl(&up->port, up->port.mctrl); spin_unlock_irqrestore(&up->port.lock, flags); - tty_termios_encode_baud_rate(termios, baud, baud); + /* Don't rewrite B0 */ + if (tty_termios_baud_rate(termios)) + tty_termios_encode_baud_rate(termios, baud, baud); } static void