[PATCH] mxser-workqueue-fixes
Cc: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/drivers/char/mxser_new.c b/drivers/char/mxser_new.c
index 4555d59..369d274 100644
--- a/drivers/char/mxser_new.c
+++ b/drivers/char/mxser_new.c
@@ -358,9 +358,9 @@
}
}
-static void mxser_do_softint(void *private_)
+static void mxser_do_softint(struct work_struct *work)
{
- struct mxser_port *info = private_;
+ struct mxser_port *info = container_of(work, struct mxser_port, tqueue);
struct tty_struct *tty = info->tty;
if (test_and_clear_bit(MXSER_EVENT_TXLOW, &info->event))
@@ -2416,7 +2416,7 @@
info->custom_divisor = info->baud_base * 16;
info->close_delay = 5 * HZ / 10;
info->closing_wait = 30 * HZ;
- INIT_WORK(&info->tqueue, mxser_do_softint, info);
+ INIT_WORK(&info->tqueue, mxser_do_softint);
info->normal_termios = mxvar_sdriver->init_termios;
init_waitqueue_head(&info->open_wait);
init_waitqueue_head(&info->close_wait);