On Mon, Apr 18, 2022 at 2:02 AM Maciej W. Rozycki <macro@xxxxxxxxxxx> wrote: > > Sticky MCR bits are lost in console restoration if console suspending > has been disabled. This currently affects the AFE bit, which works in > combination with RTS which we set, so we want to make sure the UART > retains control of its FIFO where previously requested. Also specific > drivers may need other bits in the future. Since it's a fix it should be moved to the beginning of the series. Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxx> > Fixes: 4516d50aabed ("serial: 8250: Use canary to restart console after suspend") > Cc: stable@xxxxxxxxxxxxxxx # v4.0+ > --- > New change in v4, factored out from 5/5. > --- > drivers/tty/serial/8250/8250_port.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > linux-serial-8250-mcr-restore.diff > Index: linux-macro/drivers/tty/serial/8250/8250_port.c > =================================================================== > --- linux-macro.orig/drivers/tty/serial/8250/8250_port.c > +++ linux-macro/drivers/tty/serial/8250/8250_port.c > @@ -3308,7 +3308,7 @@ static void serial8250_console_restore(s > > serial8250_set_divisor(port, baud, quot, frac); > serial_port_out(port, UART_LCR, up->lcr); > - serial8250_out_MCR(up, UART_MCR_DTR | UART_MCR_RTS); > + serial8250_out_MCR(up, up->mcr | UART_MCR_DTR | UART_MCR_RTS); > } > > /* -- With Best Regards, Andy Shevchenko