From: Alan Cox For some weird reason I can't ascertain (translation "I think its broken") the viocons driver calls directly into the n_tty ldisc code even if another ldisc is in use. It'll probably break if you do that but I'm just fixing the locking and adding a comment that its horked. Signed-off-by: Alan Cox Cc: Paul Mackerras Cc: Stephen Rothwell Signed-off-by: Andrew Morton --- drivers/char/viocons.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff -puN drivers/char/viocons.c~viocons-bkl-locking drivers/char/viocons.c --- a/drivers/char/viocons.c~viocons-bkl-locking +++ a/drivers/char/viocons.c @@ -704,8 +704,11 @@ static int viotty_ioctl(struct tty_struc case KDSKBLED: return 0; } - - return n_tty_ioctl(tty, file, cmd, arg); + /* FIXME: WTF is this being called for ??? */ + lock_kernel(); + ret = n_tty_ioctl(tty, file, cmd, arg); + unlock_kernel(); + return ret; } /* _