On 13-03-31 01:36 AM, Dmitry Torokhov wrote: > @@ -748,10 +758,13 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq, > if (was_active) > schedule_work(&sysrq->reinject_work); > > - if (sysrq_detect_reset_sequence(sysrq, code, value)) { > - /* Force emergency reboot */ > - __handle_sysrq(sysrq_xlate[KEY_B], false); > - } > + if (!sysrq_detect_reset_sequence(sysrq, code, value)) > + del_timer(&sysrq->keyreset_timer); I tested this code and it doesn't work. When all the keys in a reset combo are asserted and held down the code and value of the last key keeps on being generated. Since the only time 'sysrq_detect_reset_sequence' returns true is when '++state->reset_seq_cnt == state->reset_seq_len && !state->reset_canceled' the very next input event to come in (after a key combo has been discovered) cancel the timer. I will send a 'v4' version of my initial patch that will: - cancel the timer when more keys are pressed - trigger a reset right away when no timeout value has been specified. - deal with the miscellaneous name changes. > + else if (sysrq_reset_downtime_ms) > + mod_timer(&sysrq->keyreset_timer, > + jiffies + msecs_to_jiffies(sysrq_reset_downtime_ms)); > + else > + sysrq_do_reset(0); -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html