summary refs log tree commit diff
path: root/drivers/char/isicom.c
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2007-07-17 04:05:18 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-17 10:23:10 -0700
commite327325f4219e30476c775dbcd8651cd71b5416a (patch)
tree192b8424a5fa55f43f56a363c1cc5ef81b2d8392 /drivers/char/isicom.c
parent5b21f9dddd0817b761f1407f1950bee4f257411a (diff)
downloadlinux-e327325f4219e30476c775dbcd8651cd71b5416a.tar.gz
Char: isicom, del_timer at exit
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/isicom.c')
-rw-r--r--drivers/char/isicom.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index b133b92a0ad5..2f8aaf8f8232 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -171,9 +171,6 @@ static struct pci_driver isicom_driver = {
 static int prev_card = 3;	/*	start servicing isi_card[0]	*/
 static struct tty_driver *isicom_normal;
 
-static DECLARE_COMPLETION(isi_timerdone);
-static char re_schedule = 1;
-
 static void isicom_tx(unsigned long _data);
 static void isicom_start(struct tty_struct *tty);
 
@@ -502,11 +499,6 @@ unlock:
 	spin_unlock_irqrestore(&isi_card[card].card_lock, flags);
 	/*	schedule another tx for hopefully in about 10ms	*/
 sched_again:
-	if (!re_schedule) {
-		complete(&isi_timerdone);
- 		return;
-	}
-
 	mod_timer(&tx, jiffies + msecs_to_jiffies(10));
 }
 
@@ -1890,9 +1882,7 @@ error:
 
 static void __exit isicom_exit(void)
 {
-	re_schedule = 0;
-
-	wait_for_completion_timeout(&isi_timerdone, HZ);
+	del_timer_sync(&tx);
 
 	pci_unregister_driver(&isicom_driver);
 	tty_unregister_driver(isicom_normal);