Commit 08ab8c20 authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/home/rmk/linux-2.6-serial

parents 10e047b4 976ecd12
...@@ -1808,6 +1808,12 @@ uart_set_options(struct uart_port *port, struct console *co, ...@@ -1808,6 +1808,12 @@ uart_set_options(struct uart_port *port, struct console *co,
struct termios termios; struct termios termios;
int i; int i;
/*
* Ensure that the serial console lock is initialised
* early.
*/
spin_lock_init(&port->lock);
memset(&termios, 0, sizeof(struct termios)); memset(&termios, 0, sizeof(struct termios));
termios.c_cflag = CREAD | HUPCL | CLOCAL; termios.c_cflag = CREAD | HUPCL | CLOCAL;
...@@ -2196,10 +2202,16 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *port) ...@@ -2196,10 +2202,16 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *port)
state->port = port; state->port = port;
spin_lock_init(&port->lock);
port->cons = drv->cons; port->cons = drv->cons;
port->info = state->info; 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); uart_configure_port(drv, state, port);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment