[PATCH 2/7] Char: moxa, use del_timer_sync

From: Jiri Slaby
Date: Fri Jan 05 2007 - 12:11:11 EST


moxa, use del_timer_sync

Use del_timer_sync in most timer deletions, we don't want to oops in the
timer function.

Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>

---
commit 040f78a69ad874e2976ab93a55cde2dc02df7d66
tree 22edf4da2daee70849b8ddfb4c4f04efb8d7bf59
parent 49a3eb961ed6dca0e44778f26910e9e4ed6fd491
author Jiri Slaby <jirislaby@xxxxxxxxx> Wed, 03 Jan 2007 12:28:56 +0059
committer Jiri Slaby <jirislaby@xxxxxxxxx> Fri, 05 Jan 2007 17:38:49 +0059

drivers/char/moxa.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/char/moxa.c b/drivers/char/moxa.c
index da2a1d1..9eb8fa6 100644
--- a/drivers/char/moxa.c
+++ b/drivers/char/moxa.c
@@ -424,10 +424,10 @@ static void __exit moxa_exit(void)
if (verbose)
printk("Unloading module moxa ...\n");

- del_timer(&moxaTimer);
+ del_timer_sync(&moxaTimer);

for (i = 0; i < MAX_PORTS; i++)
- del_timer(&moxaEmptyTimer[i]);
+ del_timer_sync(&moxaEmptyTimer[i]);

if (tty_unregister_driver(moxaDriver))
printk("Couldn't unregister MOXA Intellio family serial driver\n");
@@ -529,7 +529,7 @@ static void moxa_close(struct tty_struct *tty, struct file *filp)
if (ch->asyncflags & ASYNC_INITIALIZED) {
setup_empty_event(tty);
tty_wait_until_sent(tty, 30 * HZ); /* 30 seconds timeout */
- del_timer(&moxaEmptyTimer[ch->port]);
+ del_timer_sync(&moxaEmptyTimer[ch->port]);
}
shut_down(ch);
MoxaPortFlushData(port, 2);
@@ -1004,7 +1004,7 @@ static void check_xmit_empty(unsigned long data)
struct moxa_str *ch;

ch = (struct moxa_str *) data;
- del_timer(&moxaEmptyTimer[ch->port]);
+ del_timer_sync(&moxaEmptyTimer[ch->port]);
if (ch->tty && (ch->statusflags & EMPTYWAIT)) {
if (MoxaPortTxQueue(ch->port) == 0) {
ch->statusflags &= ~EMPTYWAIT;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/