summaryrefslogtreecommitdiffstats
path: root/drivers/char/sysrq.c
diff options
context:
space:
mode:
authorDmitry Torokhov2010-06-09 17:13:06 +0200
committerDmitry Torokhov2010-06-09 17:13:56 +0200
commitf5dec51172b81db226a23f309bc737ad021af35b (patch)
tree06fa3d4fbd4a9fc347d355151b0bf9fefcf5f41e /drivers/char/sysrq.c
parentInput: ad7877 - fix spi word size to 16 bit (diff)
downloadkernel-qcow2-linux-f5dec51172b81db226a23f309bc737ad021af35b.tar.gz
kernel-qcow2-linux-f5dec51172b81db226a23f309bc737ad021af35b.tar.xz
kernel-qcow2-linux-f5dec51172b81db226a23f309bc737ad021af35b.zip
Input: sysrq - fix "stuck" SysRq mode
This shoud fix the problem with SysRq mode staying half-way enabled and interfereing with normal PrtScrn operation after user presses ALT for the first time. Reported-and-tested-by: Éric Piel <E.A.B.Piel@tudelft.nl> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/char/sysrq.c')
-rw-r--r--drivers/char/sysrq.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c
index 5d15630a5830..5d64e3acb000 100644
--- a/drivers/char/sysrq.c
+++ b/drivers/char/sysrq.c
@@ -580,8 +580,12 @@ static bool sysrq_filter(struct input_handle *handle, unsigned int type,
case KEY_RIGHTALT:
if (value)
sysrq_alt = code;
- else if (sysrq_down && code == sysrq_alt_use)
- sysrq_down = false;
+ else {
+ if (sysrq_down && code == sysrq_alt_use)
+ sysrq_down = false;
+
+ sysrq_alt = 0;
+ }
break;
case KEY_SYSRQ: