Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c251ae0d7514563c7fdace0d390175454761228b Commit: c251ae0d7514563c7fdace0d390175454761228b Parent: 11324edd4ad34981764b25bed44d46a1507b62e1 Author: Jiri Slaby <[EMAIL PROTECTED]> AuthorDate: Sat Feb 10 01:45:32 2007 -0800 Committer: Linus Torvalds <[EMAIL PROTECTED]> CommitDate: Sun Feb 11 10:51:30 2007 -0800
[PATCH] Char: 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 <[EMAIL PROTECTED]> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]> --- 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 git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html