[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>
This commit is contained in:
Andrew Morton 2006-12-08 15:53:52 +01:00 committed by Martin Schwidefsky
parent 22155914b6
commit e45ccc0562

View file

@ -16,14 +16,15 @@
#ifdef CONFIG_MAGIC_SYSRQ #ifdef CONFIG_MAGIC_SYSRQ
static int ctrlchar_sysrq_key; static int ctrlchar_sysrq_key;
static struct tty_struct *sysrq_tty;
static void 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 #endif
@ -53,7 +54,7 @@ ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty)
/* racy */ /* racy */
if (len == 3 && buf[1] == '-') { if (len == 3 && buf[1] == '-') {
ctrlchar_sysrq_key = buf[2]; ctrlchar_sysrq_key = buf[2];
ctrlchar_work.data = tty; sysrq_tty = tty;
schedule_work(&ctrlchar_work); schedule_work(&ctrlchar_work);
return CTRLCHAR_SYSRQ; return CTRLCHAR_SYSRQ;
} }