Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 976ecd12 authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[PATCH] Serial: Fix console port spinlock initialisation



Initialise the spinlock for port being used by the console early, but
don't re-initialise it again later.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 1d6bebf2
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -1808,6 +1808,12 @@ uart_set_options(struct uart_port *port, struct console *co,
	struct termios termios;
	int i;

	/*
	 * Ensure that the serial console lock is initialised
	 * early.
	 */
	spin_lock_init(&port->lock);

	memset(&termios, 0, sizeof(struct termios));

	termios.c_cflag = CREAD | HUPCL | CLOCAL;
@@ -2196,10 +2202,16 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *port)

	state->port = port;

	spin_lock_init(&port->lock);
	port->cons = drv->cons;
	port->info = state->info;

	/*
	 * If this port is a console, then the spinlock is already
	 * initialised.
	 */
	if (!uart_console(port))
		spin_lock_init(&port->lock);

	uart_configure_port(drv, state, port);

	/*