summaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2008-04-28 02:14:06 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-28 08:58:29 -0700
commite991a2bd4fa0b2f475b67dfe8f33e8ecbdcbb40b (patch)
tree9fc9dab71bc47d38e31fc2e55247b928bfa516d5 /drivers/serial
parentce9f9f73af0338a680d66288cbf0efe4b900e78b (diff)
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 <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/8250.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 96a585e1cee..6d0ce64163e 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