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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3f582b8c11
commit
ec79d6056d
@ -1705,7 +1705,7 @@ static void rs_360_wait_until_sent(struct tty_struct *tty, int timeout)
|
||||
printk("jiff=%lu...", jiffies);
|
||||
#endif
|
||||
|
||||
lock_kernel();
|
||||
tty_lock_nested(); /* always held already since we come from ->close */
|
||||
/* We go through the loop at least once because we can't tell
|
||||
* exactly when the last character exits the shifter. There can
|
||||
* be at least two characters waiting to be sent after the buffers
|
||||
@ -1734,7 +1734,7 @@ static void rs_360_wait_until_sent(struct tty_struct *tty, int timeout)
|
||||
bdp--;
|
||||
} while (bdp->status & BD_SC_READY);
|
||||
current->state = TASK_RUNNING;
|
||||
unlock_kernel();
|
||||
tty_unlock();
|
||||
#ifdef SERIAL_DEBUG_RS_WAIT_UNTIL_SENT
|
||||
printk("lsr = %d (jiff=%lu)...done\n", lsr, jiffies);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user