diff options
Diffstat (limited to 'net/ax25/ax25_ds_timer.c')
-rw-r--r-- | net/ax25/ax25_ds_timer.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/net/ax25/ax25_ds_timer.c b/net/ax25/ax25_ds_timer.c index c4e3b025d21c..2ce79df00680 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); | |||
40 | * 1/10th of a second. | 40 | * 1/10th of a second. |
41 | */ | 41 | */ |
42 | 42 | ||
43 | static void ax25_ds_add_timer(ax25_dev *ax25_dev) | 43 | void ax25_ds_setup_timer(ax25_dev *ax25_dev) |
44 | { | 44 | { |
45 | struct timer_list *t = &ax25_dev->dama.slave_timer; | 45 | setup_timer(&ax25_dev->dama.slave_timer, ax25_ds_timeout, |
46 | t->data = (unsigned long) ax25_dev; | 46 | (unsigned long)ax25_dev); |
47 | t->function = &ax25_ds_timeout; | ||
48 | t->expires = jiffies + HZ; | ||
49 | add_timer(t); | ||
50 | } | 47 | } |
51 | 48 | ||
52 | void ax25_ds_del_timer(ax25_dev *ax25_dev) | 49 | void ax25_ds_del_timer(ax25_dev *ax25_dev) |
@@ -60,10 +57,9 @@ void ax25_ds_set_timer(ax25_dev *ax25_dev) | |||
60 | if (ax25_dev == NULL) /* paranoia */ | 57 | if (ax25_dev == NULL) /* paranoia */ |
61 | return; | 58 | return; |
62 | 59 | ||
63 | del_timer(&ax25_dev->dama.slave_timer); | ||
64 | ax25_dev->dama.slave_timeout = | 60 | ax25_dev->dama.slave_timeout = |
65 | msecs_to_jiffies(ax25_dev->values[AX25_VALUES_DS_TIMEOUT]) / 10; | 61 | msecs_to_jiffies(ax25_dev->values[AX25_VALUES_DS_TIMEOUT]) / 10; |
66 | ax25_ds_add_timer(ax25_dev); | 62 | mod_timer(&ax25_dev->dama.slave_timer, jiffies + HZ); |
67 | } | 63 | } |
68 | 64 | ||
69 | /* | 65 | /* |