diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 96a585e1cee8..6d0ce64163e5 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