Input: sysrq - fix "stuck" SysRq mode
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 9 Jun 2010 15:13:06 +0000 (08:13 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 9 Jun 2010 15:13:56 +0000 (08:13 -0700)
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>
drivers/char/sysrq.c

index 5d15630a5830944ad131b7cc83240e434dfe7c0e..5d64e3acb000ef62b08921d7f946f9fdfc2d2182 100644 (file)
@@ -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: