|
|
@@ -94,9 +94,8 @@ static void hsr_check_announce(struct net_device *hsr_dev,
|
|
|
&& (old_operstate != IF_OPER_UP)) {
|
|
|
/* Went up */
|
|
|
hsr->announce_count = 0;
|
|
|
- hsr->announce_timer.expires = jiffies +
|
|
|
- msecs_to_jiffies(HSR_ANNOUNCE_INTERVAL);
|
|
|
- add_timer(&hsr->announce_timer);
|
|
|
+ mod_timer(&hsr->announce_timer,
|
|
|
+ jiffies + msecs_to_jiffies(HSR_ANNOUNCE_INTERVAL));
|
|
|
}
|
|
|
|
|
|
if ((hsr_dev->operstate != IF_OPER_UP) && (old_operstate == IF_OPER_UP))
|
|
|
@@ -332,6 +331,7 @@ static void hsr_announce(struct timer_list *t)
|
|
|
{
|
|
|
struct hsr_priv *hsr;
|
|
|
struct hsr_port *master;
|
|
|
+ unsigned long interval;
|
|
|
|
|
|
hsr = from_timer(hsr, t, announce_timer);
|
|
|
|
|
|
@@ -343,18 +343,16 @@ static void hsr_announce(struct timer_list *t)
|
|
|
hsr->protVersion);
|
|
|
hsr->announce_count++;
|
|
|
|
|
|
- hsr->announce_timer.expires = jiffies +
|
|
|
- msecs_to_jiffies(HSR_ANNOUNCE_INTERVAL);
|
|
|
+ interval = msecs_to_jiffies(HSR_ANNOUNCE_INTERVAL);
|
|
|
} else {
|
|
|
send_hsr_supervision_frame(master, HSR_TLV_LIFE_CHECK,
|
|
|
hsr->protVersion);
|
|
|
|
|
|
- hsr->announce_timer.expires = jiffies +
|
|
|
- msecs_to_jiffies(HSR_LIFE_CHECK_INTERVAL);
|
|
|
+ interval = msecs_to_jiffies(HSR_LIFE_CHECK_INTERVAL);
|
|
|
}
|
|
|
|
|
|
if (is_admin_up(master->dev))
|
|
|
- add_timer(&hsr->announce_timer);
|
|
|
+ mod_timer(&hsr->announce_timer, jiffies + interval);
|
|
|
|
|
|
rcu_read_unlock();
|
|
|
}
|