aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/char/ctrlchar.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/char/ctrlchar.c')
-rw-r--r--drivers/s390/char/ctrlchar.c9
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
18static int ctrlchar_sysrq_key; 18static int ctrlchar_sysrq_key;
19static struct tty_struct *sysrq_tty;
19 20
20static void 21static void
21ctrlchar_handle_sysrq(void *tty) 22ctrlchar_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
26static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq, NULL); 27static 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 }