diff options
-rw-r--r-- | drivers/tty/sysrq.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c index 814655ee2d61..3687f0cad642 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c | |||
@@ -870,21 +870,20 @@ static struct input_handler sysrq_handler = { | |||
870 | 870 | ||
871 | static bool sysrq_handler_registered; | 871 | static bool sysrq_handler_registered; |
872 | 872 | ||
873 | unsigned short platform_sysrq_reset_seq[] __weak = { KEY_RESERVED }; | ||
874 | |||
873 | static inline void sysrq_register_handler(void) | 875 | static inline void sysrq_register_handler(void) |
874 | { | 876 | { |
875 | extern unsigned short platform_sysrq_reset_seq[] __weak; | ||
876 | unsigned short key; | 877 | unsigned short key; |
877 | int error; | 878 | int error; |
878 | int i; | 879 | int i; |
879 | 880 | ||
880 | if (platform_sysrq_reset_seq) { | 881 | for (i = 0; i < ARRAY_SIZE(sysrq_reset_seq); i++) { |
881 | for (i = 0; i < ARRAY_SIZE(sysrq_reset_seq); i++) { | 882 | key = platform_sysrq_reset_seq[i]; |
882 | key = platform_sysrq_reset_seq[i]; | 883 | if (key == KEY_RESERVED || key > KEY_MAX) |
883 | if (key == KEY_RESERVED || key > KEY_MAX) | 884 | break; |
884 | break; | ||
885 | 885 | ||
886 | sysrq_reset_seq[sysrq_reset_seq_len++] = key; | 886 | sysrq_reset_seq[sysrq_reset_seq_len++] = key; |
887 | } | ||
888 | } | 887 | } |
889 | 888 | ||
890 | error = input_register_handler(&sysrq_handler); | 889 | error = input_register_handler(&sysrq_handler); |