From 2d94ebb760009c35d8338b21c5a59139e79821bd Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 19 Nov 2021 12:04:53 +0100 Subject: [PATCH] Revert "serial: core: Fix initializing and restoring termios speed" This reverts commit 47462c5e600fbaffd755cd13dedd80d04e41ff83 which is commit 027b57170bf8bb6999a28e4a5f3d78bf1db0f90c upstream. It breaks the kernel abi and is not something that is necessary in Android systems, so it is safe to revert. Bug: 161946584 Fixes: 47462c5e600f ("serial: core: Fix initializing and restoring termios speed") Signed-off-by: Greg Kroah-Hartman Change-Id: I158a28eb7a1ac7892c836abcdbc178129de69391 --- drivers/tty/serial/serial_core.c | 16 ++-------------- include/linux/console.h | 2 -- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index e6fb5077fe34..68a0ff605476 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -222,11 +222,7 @@ 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_ispeed = uport->cons->ispeed; - tty->termios.c_ospeed = uport->cons->ospeed; uport->cons->cflag = 0; - uport->cons->ispeed = 0; - uport->cons->ospeed = 0; } /* * Initialise the hardware port settings. @@ -294,11 +290,8 @@ static void uart_shutdown(struct tty_struct *tty, struct uart_state *state) /* * Turn off DTR and RTS early. */ - if (uport && uart_console(uport) && tty) { + if (uport && uart_console(uport) && tty) uport->cons->cflag = tty->termios.c_cflag; - uport->cons->ispeed = tty->termios.c_ispeed; - uport->cons->ospeed = tty->termios.c_ospeed; - } if (!tty || C_HUPCL(tty)) uart_port_dtr_rts(uport, 0); @@ -2130,11 +2123,8 @@ uart_set_options(struct uart_port *port, struct console *co, * Allow the setting of the UART parameters with a NULL console * too: */ - if (co) { + if (co) co->cflag = termios.c_cflag; - co->ispeed = termios.c_ispeed; - co->ospeed = termios.c_ospeed; - } return 0; } @@ -2268,8 +2258,6 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *uport) */ memset(&termios, 0, sizeof(struct ktermios)); termios.c_cflag = uport->cons->cflag; - termios.c_ispeed = uport->cons->ispeed; - termios.c_ospeed = uport->cons->ospeed; /* * If that's unset, use the tty termios setting. diff --git a/include/linux/console.h b/include/linux/console.h index bc2a749e6f0d..4b1e26c4cb42 100644 --- a/include/linux/console.h +++ b/include/linux/console.h @@ -150,8 +150,6 @@ struct console { short flags; short index; int cflag; - uint ispeed; - uint ospeed; void *data; struct console *next; };