aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/char/isicom.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index 734fe39a6ac2..adab41cdab65 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -173,12 +173,13 @@ static int prev_card = 3; /* start servicing isi_card[0] */
173static struct tty_driver *isicom_normal; 173static struct tty_driver *isicom_normal;
174 174
175static DECLARE_COMPLETION(isi_timerdone); 175static DECLARE_COMPLETION(isi_timerdone);
176static struct timer_list tx;
177static char re_schedule = 1; 176static char re_schedule = 1;
178 177
179static void isicom_tx(unsigned long _data); 178static void isicom_tx(unsigned long _data);
180static void isicom_start(struct tty_struct *tty); 179static void isicom_start(struct tty_struct *tty);
181 180
181static DEFINE_TIMER(tx, isicom_tx, 0, 0);
182
182/* baud index mappings from linux defns to isi */ 183/* baud index mappings from linux defns to isi */
183 184
184static signed char linuxb_to_isib[] = { 185static signed char linuxb_to_isib[] = {
@@ -519,13 +520,7 @@ sched_again:
519 return; 520 return;
520 } 521 }
521 522
522 init_timer(&tx); 523 mod_timer(&tx, jiffies + msecs_to_jiffies(10));
523 tx.expires = jiffies + HZ/100;
524 tx.data = 0;
525 tx.function = isicom_tx;
526 add_timer(&tx);
527
528 return;
529} 524}
530 525
531/* Interrupt handlers */ 526/* Interrupt handlers */
@@ -1907,12 +1902,7 @@ static int __init isicom_init(void)
1907 goto err_unrtty; 1902 goto err_unrtty;
1908 } 1903 }
1909 1904
1910 init_timer(&tx); 1905 mod_timer(&tx, jiffies + 1);
1911 tx.expires = jiffies + 1;
1912 tx.data = 0;
1913 tx.function = isicom_tx;
1914 re_schedule = 1;
1915 add_timer(&tx);
1916 1906
1917 return 0; 1907 return 0;
1918err_unrtty: 1908err_unrtty: