aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/serial_core.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2010-06-01 16:53:01 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-10 16:47:43 -0400
commitec79d6056de58511d8e46d9ae59d3878f958dc3e (patch)
tree8e73cf399c4cb3c31dbf3caced385cfc018a706a /drivers/serial/serial_core.c
parent3f582b8c11014e4ce310d9839fb335164195333f (diff)
tty: replace BKL with a new tty_lock
As a preparation for replacing the big kernel lock in the TTY layer, wrap all the callers in new macros tty_lock, tty_lock_nested and tty_unlock. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/serial/serial_core.c')
-rw-r--r--drivers/serial/serial_core.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index 3d2acc2265f7..851d7c29132b 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -1274,7 +1274,7 @@ static void uart_close(struct tty_struct *tty, struct file *filp)
1274 struct uart_port *uport; 1274 struct uart_port *uport;
1275 unsigned long flags; 1275 unsigned long flags;
1276 1276
1277 BUG_ON(!kernel_locked()); 1277 BUG_ON(!tty_locked());
1278 1278
1279 if (!state) 1279 if (!state)
1280 return; 1280 return;
@@ -1382,7 +1382,7 @@ static void uart_wait_until_sent(struct tty_struct *tty, int timeout)
1382 if (port->type == PORT_UNKNOWN || port->fifosize == 0) 1382 if (port->type == PORT_UNKNOWN || port->fifosize == 0)
1383 return; 1383 return;
1384 1384
1385 lock_kernel(); 1385 tty_lock_nested(); /* already locked when coming from close */
1386 1386
1387 /* 1387 /*
1388 * Set the check interval to be 1/5 of the estimated time to 1388 * Set the check interval to be 1/5 of the estimated time to
@@ -1429,7 +1429,7 @@ static void uart_wait_until_sent(struct tty_struct *tty, int timeout)
1429 break; 1429 break;
1430 } 1430 }
1431 set_current_state(TASK_RUNNING); /* might not be needed */ 1431 set_current_state(TASK_RUNNING); /* might not be needed */
1432 unlock_kernel(); 1432 tty_unlock();
1433} 1433}
1434 1434
1435/* 1435/*
@@ -1444,7 +1444,7 @@ static void uart_hangup(struct tty_struct *tty)
1444 struct tty_port *port = &state->port; 1444 struct tty_port *port = &state->port;
1445 unsigned long flags; 1445 unsigned long flags;
1446 1446
1447 BUG_ON(!kernel_locked()); 1447 BUG_ON(!tty_locked());
1448 pr_debug("uart_hangup(%d)\n", state->uart_port->line); 1448 pr_debug("uart_hangup(%d)\n", state->uart_port->line);
1449 1449
1450 mutex_lock(&port->mutex); 1450 mutex_lock(&port->mutex);
@@ -1578,7 +1578,7 @@ static int uart_open(struct tty_struct *tty, struct file *filp)
1578 struct tty_port *port; 1578 struct tty_port *port;
1579 int retval, line = tty->index; 1579 int retval, line = tty->index;
1580 1580
1581 BUG_ON(!kernel_locked()); 1581 BUG_ON(!tty_locked());
1582 pr_debug("uart_open(%d) called\n", line); 1582 pr_debug("uart_open(%d) called\n", line);
1583 1583
1584 /* 1584 /*