Skip to content

Commit 6e6eebd

Browse files
maciej-w-rozyckigregkh
authored andcommitted
serial: 8250: Also set sticky MCR bits in console restoration
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. Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk> Fixes: 4516d50 ("serial: 8250: Use canary to restart console after suspend") Cc: stable@vger.kernel.org # v4.0+ Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/alpine.DEB.2.21.2204181518490.9383@angie.orcam.me.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent f4f7d63 commit 6e6eebd

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/tty/serial/8250/8250_port.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3329,7 +3329,7 @@ static void serial8250_console_restore(struct uart_8250_port *up)
33293329

33303330
serial8250_set_divisor(port, baud, quot, frac);
33313331
serial_port_out(port, UART_LCR, up->lcr);
3332-
serial8250_out_MCR(up, UART_MCR_DTR | UART_MCR_RTS);
3332+
serial8250_out_MCR(up, up->mcr | UART_MCR_DTR | UART_MCR_RTS);
33333333
}
33343334

33353335
/*

0 commit comments

Comments
 (0)