@@ -94,9 +94,8 @@ static void hsr_check_announce(struct net_device *hsr_dev,
9494 && (old_operstate != IF_OPER_UP )) {
9595 /* Went up */
9696 hsr -> announce_count = 0 ;
97- hsr -> announce_timer .expires = jiffies +
98- msecs_to_jiffies (HSR_ANNOUNCE_INTERVAL );
99- add_timer (& hsr -> announce_timer );
97+ mod_timer (& hsr -> announce_timer ,
98+ jiffies + msecs_to_jiffies (HSR_ANNOUNCE_INTERVAL ));
10099 }
101100
102101 if ((hsr_dev -> operstate != IF_OPER_UP ) && (old_operstate == IF_OPER_UP ))
@@ -332,6 +331,7 @@ static void hsr_announce(unsigned long data)
332331{
333332 struct hsr_priv * hsr ;
334333 struct hsr_port * master ;
334+ unsigned long interval ;
335335
336336 hsr = (struct hsr_priv * ) data ;
337337
@@ -343,18 +343,16 @@ static void hsr_announce(unsigned long data)
343343 hsr -> protVersion );
344344 hsr -> announce_count ++ ;
345345
346- hsr -> announce_timer .expires = jiffies +
347- msecs_to_jiffies (HSR_ANNOUNCE_INTERVAL );
346+ interval = msecs_to_jiffies (HSR_ANNOUNCE_INTERVAL );
348347 } else {
349348 send_hsr_supervision_frame (master , HSR_TLV_LIFE_CHECK ,
350349 hsr -> protVersion );
351350
352- hsr -> announce_timer .expires = jiffies +
353- msecs_to_jiffies (HSR_LIFE_CHECK_INTERVAL );
351+ interval = msecs_to_jiffies (HSR_LIFE_CHECK_INTERVAL );
354352 }
355353
356354 if (is_admin_up (master -> dev ))
357- add_timer (& hsr -> announce_timer );
355+ mod_timer (& hsr -> announce_timer , jiffies + interval );
358356
359357 rcu_read_unlock ();
360358}
0 commit comments