diff options
Diffstat (limited to 'drivers/s390/char/ctrlchar.c')
-rw-r--r-- | drivers/s390/char/ctrlchar.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/s390/char/ctrlchar.c b/drivers/s390/char/ctrlchar.c index 49e9628d9297..c6cbcb3f925e 100644 --- a/drivers/s390/char/ctrlchar.c +++ b/drivers/s390/char/ctrlchar.c | |||
@@ -16,14 +16,15 @@ | |||
16 | 16 | ||
17 | #ifdef CONFIG_MAGIC_SYSRQ | 17 | #ifdef CONFIG_MAGIC_SYSRQ |
18 | static int ctrlchar_sysrq_key; | 18 | static int ctrlchar_sysrq_key; |
19 | static struct tty_struct *sysrq_tty; | ||
19 | 20 | ||
20 | static void | 21 | static void |
21 | ctrlchar_handle_sysrq(void *tty) | 22 | ctrlchar_handle_sysrq(struct work_struct *work) |
22 | { | 23 | { |
23 | handle_sysrq(ctrlchar_sysrq_key, (struct tty_struct *) tty); | 24 | handle_sysrq(ctrlchar_sysrq_key, sysrq_tty); |
24 | } | 25 | } |
25 | 26 | ||
26 | static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq, NULL); | 27 | static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq); |
27 | #endif | 28 | #endif |
28 | 29 | ||
29 | 30 | ||
@@ -53,7 +54,7 @@ ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty) | |||
53 | /* racy */ | 54 | /* racy */ |
54 | if (len == 3 && buf[1] == '-') { | 55 | if (len == 3 && buf[1] == '-') { |
55 | ctrlchar_sysrq_key = buf[2]; | 56 | ctrlchar_sysrq_key = buf[2]; |
56 | ctrlchar_work.data = tty; | 57 | sysrq_tty = tty; |
57 | schedule_work(&ctrlchar_work); | 58 | schedule_work(&ctrlchar_work); |
58 | return CTRLCHAR_SYSRQ; | 59 | return CTRLCHAR_SYSRQ; |
59 | } | 60 | } |