On Tue, Dec 08, 2015 at 12:15:00AM +0100, Hauke Mehrtens wrote: > The Arduino Yun uses a baud rate of 250000 by default. The serial is > going over the Atmel ATmega and is used to connect to this chip. > Without this patch Linux wants to switch the console to 230400 Baud. Even if you ask for it to be the other rate? > With this patch Linux will use the configured baud rate and not some > standard one which is near by. Hm, I'm worried about this change, have you tested it on a "normal" system? > > Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> > --- > drivers/tty/serial/serial_core.c | 13 ++++++++++--- > include/linux/console.h | 1 + > 2 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c > index def5199..fcdf258 100644 > --- a/drivers/tty/serial/serial_core.c > +++ b/drivers/tty/serial/serial_core.c > @@ -164,6 +164,8 @@ static int uart_port_startup(struct tty_struct *tty, struct uart_state *state, > if (retval == 0) { > if (uart_console(uport) && uport->cons->cflag) { > tty->termios.c_cflag = uport->cons->cflag; > + tty->termios.c_ospeed = uport->cons->baud; > + tty->termios.c_ispeed = uport->cons->baud; > uport->cons->cflag = 0; > } > /* > @@ -1909,7 +1911,7 @@ static const struct baud_rates baud_rates[] = { > { 4800, B4800 }, > { 2400, B2400 }, > { 1200, B1200 }, > - { 0, B38400 } > + { 0, BOTHER } > }; > > /** > @@ -1948,10 +1950,13 @@ uart_set_options(struct uart_port *port, struct console *co, > * Construct a cflag setting. > */ > for (i = 0; baud_rates[i].rate; i++) > - if (baud_rates[i].rate <= baud) > + if (baud_rates[i].rate == baud) > break; > > termios.c_cflag |= baud_rates[i].cflag; > + if (!baud_rates[i].rate) { > + termios.c_ospeed = baud; > + } Minor nit, coding style :( Always run your patches through scripts/checkpatch.pl please. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html