|
@@ -642,8 +642,11 @@ int hvc_poll(struct hvc_struct *hp)
|
|
/* Handle the SysRq Hack */
|
|
/* Handle the SysRq Hack */
|
|
/* XXX should support a sequence */
|
|
/* XXX should support a sequence */
|
|
if (buf[i] == '\x0f') { /* ^O */
|
|
if (buf[i] == '\x0f') { /* ^O */
|
|
- sysrq_pressed = 1;
|
|
|
|
- continue;
|
|
|
|
|
|
+ /* if ^O is pressed again, reset
|
|
|
|
+ * sysrq_pressed and flip ^O char */
|
|
|
|
+ sysrq_pressed = !sysrq_pressed;
|
|
|
|
+ if (sysrq_pressed)
|
|
|
|
+ continue;
|
|
} else if (sysrq_pressed) {
|
|
} else if (sysrq_pressed) {
|
|
handle_sysrq(buf[i], tty);
|
|
handle_sysrq(buf[i], tty);
|
|
sysrq_pressed = 0;
|
|
sysrq_pressed = 0;
|