提交 5f5c9ae5 编写于 作者: G Geert Uytterhoeven 提交者: Greg Kroah-Hartman

serial_core: Unregister console in uart_remove_one_port()

If the serial port being removed is used as a console, it must also be
unregistered from the console subsystem using unregister_console().

uart_ops.release_port() will release resources (e.g. iounmap() the serial
port registers), causing a crash on subsequent kernel output if the console
is still registered.
Signed-off-by: NGeert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 a3c1fa99
......@@ -2676,6 +2676,12 @@ int uart_remove_one_port(struct uart_driver *drv, struct uart_port *uport)
if (port->tty)
tty_vhangup(port->tty);
/*
* If the port is used as a console, unregister it
*/
if (uart_console(uport))
unregister_console(uport->cons);
/*
* Free the port IO and memory resources, if any.
*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册