]> pilppa.com Git - linux-2.6-omap-h63xx.git/commit
[SERIAL] initialize spinlock for port failed to setup console
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Thu, 2 Feb 2006 20:53:39 +0000 (20:53 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 2 Feb 2006 20:53:39 +0000 (20:53 +0000)
commit9c0f4755bd5a117595761c95b93c29e8d9ca07b5
tree33737024ea3ad4dd9d1cfe4a043fb947f00059db
parent3ec9c59449744dcc390d593a017d30671546fd9e
[SERIAL] initialize spinlock for port failed to setup console

It seems serial_core intend to initialize port->lock just once for each
ports.  This is done in uart_set_options() for console, and in
uart_add_one_port() for other ports.  But there is a case the port->lock is
not initialized by serial_core.  If the setup function for the console was
failed, it will not call uart_set_options() but the port is marked as
console (uart_console(port) returns 1).  It can happen if console was PCI
port which can not detected at the time of register_console.

This patch is to initialize port->lock for such console port.  With this
change, most of spin_lock_init() (some of them are labeled "Temporary
fix.") in low-level serial drivers can be omitted.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/serial/serial_core.c