aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2008-02-05 01:27:53 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-05 12:44:10 -0500
commit6d4d67beb963de8865499781b8523e5b683819c3 (patch)
tree597ebf45d858b56ce00ab98f634081be15e5e8a1 /drivers/serial
parentc8c6bfa39d6bd7347f43937c8767ae145b61bcb4 (diff)
serial: speed setup failure reporting
Invalid speeds are forced to 9600. Update the code for this to encode new style baud rates properly. Signed-off-by: Alan Cox <alan@redhat.com> Cc: Russell King <rmk@arm.linux.org.uk> 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/serial_core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index 304fe32eb066..276da148c57e 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -371,7 +371,8 @@ uart_get_baud_rate(struct uart_port *port, struct ktermios *termios,
371 */ 371 */
372 termios->c_cflag &= ~CBAUD; 372 termios->c_cflag &= ~CBAUD;
373 if (old) { 373 if (old) {
374 termios->c_cflag |= old->c_cflag & CBAUD; 374 baud = tty_termios_baud_rate(old);
375 tty_termios_encode_baud_rate(termios, baud, baud);
375 old = NULL; 376 old = NULL;
376 continue; 377 continue;
377 } 378 }
@@ -380,7 +381,7 @@ uart_get_baud_rate(struct uart_port *port, struct ktermios *termios,
380 * As a last resort, if the quotient is zero, 381 * As a last resort, if the quotient is zero,
381 * default to 9600 bps 382 * default to 9600 bps
382 */ 383 */
383 termios->c_cflag |= B9600; 384 tty_termios_encode_baud_rate(termios, 9600, 9600);
384 } 385 }
385 386
386 return 0; 387 return 0;