]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Fix tty speed handling on 8250
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Mon, 28 Apr 2008 09:14:06 +0000 (02:14 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 22 Jun 2008 05:24:53 +0000 (22:24 -0700)
commit e991a2bd4fa0b2f475b67dfe8f33e8ecbdcbb40b upstream.

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 <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/serial/8250.c

index 77f7a7f0646e00ce1bbfb0b2fb439c283df06887..d60705e9d0076a79ea8e44aecb1b88700a2b4a11 100644 (file)
@@ -2174,7 +2174,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