Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.25-rc7 /net/ax25/ax25_timer.c

Filename:/net/ax25/ax25_timer.c
Lines Added:21
Lines Deleted:39
Also changed in: (Previous) 2.6.25-rc6  2.6.25-rc5  2.6.25-rc4  2.6.25-rc3  2.6.25-rc2  2.6.18 
(Following) 2.6.25-rc8  2.6.25-rc9  2.6.25 

Location
[  2.6.25-rc7
  [  net
    [  ax25
       o  ax25_timer.c

Patch

diff --git a/net/ax25/ax25_timer.c b/net/ax25/ax25_timer.c
index 7259486..db29ea7 100644
--- a/net/ax25/ax25_timer.c
+++ b/net/ax25/ax25_timer.c
@@ -40,63 +40,45 @@ static void ax25_t2timer_expiry(unsigned long);
 static void ax25_t3timer_expiry(unsigned long);
 static void ax25_idletimer_expiry(unsigned long);
 
-void ax25_start_heartbeat(ax25_cb *ax25)
+void ax25_setup_timers(ax25_cb *ax25)
 {
-   del_timer(&ax25->timer);
-
-   ax25->timer.data     = (unsigned long)ax25;
-   ax25->timer.function = &ax25_heartbeat_expiry;
-   ax25->timer.expires  = jiffies + 5 * HZ;
+   setup_timer(&ax25->timer, ax25_heartbeat_expiry, (unsigned long)ax25);
+   setup_timer(&ax25->t1timer, ax25_t1timer_expiry, (unsigned long)ax25);
+   setup_timer(&ax25->t2timer, ax25_t2timer_expiry, (unsigned long)ax25);
+   setup_timer(&ax25->t3timer, ax25_t3timer_expiry, (unsigned long)ax25);
+   setup_timer(&ax25->idletimer, ax25_idletimer_expiry,
+          (unsigned long)ax25);
+}
 
-   add_timer(&ax25->timer);
+void ax25_start_heartbeat(ax25_cb *ax25)
+{
+   mod_timer(&ax25->timer, jiffies + 5 * HZ);
 }
 
 void ax25_start_t1timer(ax25_cb *ax25)
 {
-   del_timer(&ax25->t1timer);
-
-   ax25->t1timer.data     = (unsigned long)ax25;
-   ax25->t1timer.function = &ax25_t1timer_expiry;
-   ax25->t1timer.expires  = jiffies + ax25->t1;
-
-   add_timer(&ax25->t1timer);
+   mod_timer(&ax25->t1timer, jiffies + ax25->t1);
 }
 
 void ax25_start_t2timer(ax25_cb *ax25)
 {
-   del_timer(&ax25->t2timer);
-
-   ax25->t2timer.data     = (unsigned long)ax25;
-   ax25->t2timer.function = &ax25_t2timer_expiry;
-   ax25->t2timer.expires  = jiffies + ax25->t2;
-
-   add_timer(&ax25->t2timer);
+   mod_timer(&ax25->t2timer, jiffies + ax25->t2);
 }
 
 void ax25_start_t3timer(ax25_cb *ax25)
 {
-   del_timer(&ax25->t3timer);
-
-   if (ax25->t3 > 0) {
-      ax25->t3timer.data     = (unsigned long)ax25;
-      ax25->t3timer.function = &ax25_t3timer_expiry;
-      ax25->t3timer.expires  = jiffies + ax25->t3;
-
-      add_timer(&ax25->t3timer);
-   }
+   if (ax25->t3 > 0)
+      mod_timer(&ax25->t3timer, jiffies + ax25->t3);
+   else
+      del_timer(&ax25->t3timer);
 }
 
 void ax25_start_idletimer(ax25_cb *ax25)
 {
-   del_timer(&ax25->idletimer);
-
-   if (ax25->idle > 0) {
-      ax25->idletimer.data     = (unsigned long)ax25;
-      ax25->idletimer.function = &ax25_idletimer_expiry;
-      ax25->idletimer.expires  = jiffies + ax25->idle;
-
-      add_timer(&ax25->idletimer);
-   }
+   if (ax25->idle > 0)
+      mod_timer(&ax25->idletimer, jiffies + ax25->idle);
+   else
+      del_timer(&ax25->idletimer);
 }
 
 void ax25_stop_heartbeat(ax25_cb *ax25)


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.