@@ -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 ))
@@ -331,6 +330,7 @@ static void hsr_announce(unsigned long data)
331330{
332331 struct hsr_priv * hsr ;
333332 struct hsr_port * master ;
333+ unsigned long interval ;
334334
335335 hsr = (struct hsr_priv * ) data ;
336336
@@ -342,18 +342,16 @@ static void hsr_announce(unsigned long data)
342342 hsr -> protVersion );
343343 hsr -> announce_count ++ ;
344344
345- hsr -> announce_timer .expires = jiffies +
346- msecs_to_jiffies (HSR_ANNOUNCE_INTERVAL );
345+ interval = msecs_to_jiffies (HSR_ANNOUNCE_INTERVAL );
347346 } else {
348347 send_hsr_supervision_frame (master , HSR_TLV_LIFE_CHECK ,
349348 hsr -> protVersion );
350349
351- hsr -> announce_timer .expires = jiffies +
352- msecs_to_jiffies (HSR_LIFE_CHECK_INTERVAL );
350+ interval = msecs_to_jiffies (HSR_LIFE_CHECK_INTERVAL );
353351 }
354352
355353 if (is_admin_up (master -> dev ))
356- add_timer (& hsr -> announce_timer );
354+ mod_timer (& hsr -> announce_timer , jiffies + interval );
357355
358356 rcu_read_unlock ();
359357}
0 commit comments