Import 2.3.18pre1
[davej-history.git] / drivers / atm / zatm.c
index b3ea4a0..bd1bd98 100644 (file)
@@ -347,7+347,7 @@ static void zatm_feedback(struct atm_vcc *vcc,struct sk_buff *skb,
 
 #ifdef CONFIG_ATM_ZATM_EXACT_TS
 
 
 #ifdef CONFIG_ATM_ZATM_EXACT_TS
 
-static struct timer_list sync_timer = { NULL, NULL, 0L, 0L, NULL };
+static struct timer_list sync_timer;
 
 
 /*
 
 
 /*
@@ -454,9+454,7 @@ static void zatm_clock_sync(unsigned long dummy)
                zatm_dev->last_real_time = now;
                zatm_dev->last_clk = ticks;
        }
                zatm_dev->last_real_time = now;
                zatm_dev->last_clk = ticks;
        }
-       del_timer(&sync_timer);
-       sync_timer.expires += POLL_INTERVAL*HZ;
-       add_timer(&sync_timer);
+       mod_timer(&sync_timer,sync_timer.expires+POLL_INTERVAL*HZ);
 }
 
 
 }
 
 
@@ -475,6+473,7 @@ static void __init zatm_clock_init(struct zatm_dev *zatm_dev)
        zatm_dev->last_clk = zpeekl(zatm_dev,uPD98401_TSR);
        if (start_timer) {
                start_timer = 0;
        zatm_dev->last_clk = zpeekl(zatm_dev,uPD98401_TSR);
        if (start_timer) {
                start_timer = 0;
+               init_timer(&sync_timer);
                sync_timer.expires = jiffies+POLL_INTERVAL*HZ;
                sync_timer.function = zatm_clock_sync;
                add_timer(&sync_timer);
                sync_timer.expires = jiffies+POLL_INTERVAL*HZ;
                sync_timer.function = zatm_clock_sync;
                add_timer(&sync_timer);
close