aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/char/ctrlchar.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2006-12-08 15:53:52 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2006-12-08 15:53:52 +0100
commite45ccc0562e3f391dcba8b2e8a02551e8e42d8db (patch)
tree447e6ba958fe81cc13a9b72649754d032d5859d5 /drivers/s390/char/ctrlchar.c
parent[S390] uaccess_pt: add missing down_read() and convert to is_init(). (diff)
downloadlinux-dev-e45ccc0562e3f391dcba8b2e8a02551e8e42d8db.tar.xz
linux-dev-e45ccc0562e3f391dcba8b2e8a02551e8e42d8db.zip
[S390] workqueue fixes.
Cc: David Howells <dhowells@redhat.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
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 @@
#ifdef CONFIG_MAGIC_SYSRQ
static int ctrlchar_sysrq_key;
+static struct tty_struct *sysrq_tty;
static void
-ctrlchar_handle_sysrq(void *tty)
+ctrlchar_handle_sysrq(struct work_struct *work)
{
- handle_sysrq(ctrlchar_sysrq_key, (struct tty_struct *) tty);
+ handle_sysrq(ctrlchar_sysrq_key, sysrq_tty);
}
-static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq, NULL);
+static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq);
#endif
@@ -53,7 +54,7 @@ ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty)
/* racy */
if (len == 3 && buf[1] == '-') {
ctrlchar_sysrq_key = buf[2];
- ctrlchar_work.data = tty;
+ sysrq_tty = tty;
schedule_work(&ctrlchar_work);
return CTRLCHAR_SYSRQ;
}