vt: Fix deadlock on scroll-lock
authorAlan Cox <alan@linux.intel.com>
Tue, 1 May 2012 15:12:19 +0000 (16:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 May 2012 18:01:28 +0000 (14:01 -0400)
commit84f904ecd3aa2ccb5779b815b69c1cb592f07bb5
treeeeaf995be900b9a1beb2be751224a97cfadf422d
parent69964ea4c7b68c9399f7977aa5b9aa6539a6a98a
vt: Fix deadlock on scroll-lock

Fixing the locking accidentally replaced a race in the scroll
lock handling with a deadlock. Turn it back into a race for
now.

The basic problem is that there are two paths into the tty
stop/start helpers. One via the tty layer ^S/^Q handling
where we need to take the kbd_event_lock and one via the
special keyboard handler for fn_hold where we already hold
it. Probably we need to split out into a separate LED lock
but for now just go back to the race as it's a bit close
to release.

Reported-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/vt/keyboard.c