Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e848b583e03306f5f9b3a66a793c37e3649e04ca
Commit:     e848b583e03306f5f9b3a66a793c37e3649e04ca
Parent:     21fab4a86a411c18c6b4d663ae710ca1f6206b3c
Author:     Jarek Poplawski <[EMAIL PROTECTED]>
AuthorDate: Mon Feb 11 21:38:32 2008 -0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Tue Feb 12 17:53:34 2008 -0800

    [AX25] ax25_ds_timer: use mod_timer instead of add_timer
    
    This patch changes current use of: init_timer(), add_timer()
    and del_timer() to setup_timer() with mod_timer(), which
    should be safer anyway.
    
    Reported-by: Jann Traschewski <[EMAIL PROTECTED]>
    Signed-off-by: Jarek Poplawski <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 include/net/ax25.h       |    1 +
 net/ax25/ax25_dev.c      |    2 +-
 net/ax25/ax25_ds_timer.c |   12 ++++--------
 3 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/include/net/ax25.h b/include/net/ax25.h
index 3f0236f..717e219 100644
--- a/include/net/ax25.h
+++ b/include/net/ax25.h
@@ -324,6 +324,7 @@ extern void ax25_dama_on(ax25_cb *);
 extern void ax25_dama_off(ax25_cb *);
 
 /* ax25_ds_timer.c */
+extern void ax25_ds_setup_timer(ax25_dev *);
 extern void ax25_ds_set_timer(ax25_dev *);
 extern void ax25_ds_del_timer(ax25_dev *);
 extern void ax25_ds_timer(ax25_cb *);
diff --git a/net/ax25/ax25_dev.c b/net/ax25/ax25_dev.c
index 528c874..a7a0e0c 100644
--- a/net/ax25/ax25_dev.c
+++ b/net/ax25/ax25_dev.c
@@ -82,7 +82,7 @@ void ax25_dev_device_up(struct net_device *dev)
        ax25_dev->values[AX25_VALUES_DS_TIMEOUT]= AX25_DEF_DS_TIMEOUT;
 
 #if defined(CONFIG_AX25_DAMA_SLAVE) || defined(CONFIG_AX25_DAMA_MASTER)
-       init_timer(&ax25_dev->dama.slave_timer);
+       ax25_ds_setup_timer(ax25_dev);
 #endif
 
        spin_lock_bh(&ax25_dev_lock);
diff --git a/net/ax25/ax25_ds_timer.c b/net/ax25/ax25_ds_timer.c
index c4e3b02..2ce79df 100644
--- a/net/ax25/ax25_ds_timer.c
+++ b/net/ax25/ax25_ds_timer.c
@@ -40,13 +40,10 @@ static void ax25_ds_timeout(unsigned long);
  *     1/10th of a second.
  */
 
-static void ax25_ds_add_timer(ax25_dev *ax25_dev)
+void ax25_ds_setup_timer(ax25_dev *ax25_dev)
 {
-       struct timer_list *t = &ax25_dev->dama.slave_timer;
-       t->data         = (unsigned long) ax25_dev;
-       t->function     = &ax25_ds_timeout;
-       t->expires      = jiffies + HZ;
-       add_timer(t);
+       setup_timer(&ax25_dev->dama.slave_timer, ax25_ds_timeout,
+                   (unsigned long)ax25_dev);
 }
 
 void ax25_ds_del_timer(ax25_dev *ax25_dev)
@@ -60,10 +57,9 @@ void ax25_ds_set_timer(ax25_dev *ax25_dev)
        if (ax25_dev == NULL)           /* paranoia */
                return;
 
-       del_timer(&ax25_dev->dama.slave_timer);
        ax25_dev->dama.slave_timeout =
                msecs_to_jiffies(ax25_dev->values[AX25_VALUES_DS_TIMEOUT]) / 10;
-       ax25_ds_add_timer(ax25_dev);
+       mod_timer(&ax25_dev->dama.slave_timer, jiffies + HZ);
 }
 
 /*
-
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

Reply via email to