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>
This commit is contained in:
parent
c8c6bfa39d
commit
6d4d67beb9
|
@ -371,7 +371,8 @@ uart_get_baud_rate(struct uart_port *port, struct ktermios *termios,
|
||||||
*/
|
*/
|
||||||
termios->c_cflag &= ~CBAUD;
|
termios->c_cflag &= ~CBAUD;
|
||||||
if (old) {
|
if (old) {
|
||||||
termios->c_cflag |= old->c_cflag & CBAUD;
|
baud = tty_termios_baud_rate(old);
|
||||||
|
tty_termios_encode_baud_rate(termios, baud, baud);
|
||||||
old = NULL;
|
old = NULL;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -380,7 +381,7 @@ uart_get_baud_rate(struct uart_port *port, struct ktermios *termios,
|
||||||
* As a last resort, if the quotient is zero,
|
* As a last resort, if the quotient is zero,
|
||||||
* default to 9600 bps
|
* default to 9600 bps
|
||||||
*/
|
*/
|
||||||
termios->c_cflag |= B9600;
|
tty_termios_encode_baud_rate(termios, 9600, 9600);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue