From: Alan Cox We leave the BKL around the rts/dtr handler because there is *no* locking of any kind on this in the driver. It's not "right" with this change but it's the same wrong as before.. Signed-off-by: Alan Cox Cc: Greg KH Signed-off-by: Andrew Morton --- drivers/char/nozomi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN drivers/char/nozomi.c~nozomi-prepare-for-bkl-pushdown drivers/char/nozomi.c --- a/drivers/char/nozomi.c~nozomi-prepare-for-bkl-pushdown +++ a/drivers/char/nozomi.c @@ -1716,6 +1716,7 @@ static int ntty_tiocmget(struct tty_stru static int ntty_tiocmset(struct tty_struct *tty, struct file *file, unsigned int set, unsigned int clear) { + lock_kernel(); /* FIXME: Add internal locking */ if (set & TIOCM_RTS) set_rts(tty, 1); else if (clear & TIOCM_RTS) @@ -1725,7 +1726,7 @@ static int ntty_tiocmset(struct tty_stru set_dtr(tty, 1); else if (clear & TIOCM_DTR) set_dtr(tty, 0); - + unlock_kernel(); return 0; } _