X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=net%2Ftipc%2Flink.c;h=238b12526b580107563a8cc4b4f87d64b06a4be3;hb=88e8ac7000dc7ccf99975cc4070907e26a1027f9;hp=8b98fafc88a4769d45966379958b32a021f1de6d;hpb=634696b197411e7a95b346d6e5c21841f29fcedd;p=cascardo%2Flinux.git diff --git a/net/tipc/link.c b/net/tipc/link.c index 8b98fafc88a4..238b12526b58 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c @@ -140,6 +140,7 @@ struct tipc_link { char if_name[TIPC_MAX_IF_NAME]; u32 priority; char net_plane; + u16 rst_cnt; /* Failover/synch */ u16 drop_point; @@ -699,8 +700,6 @@ static void link_profile_stats(struct tipc_link *l) l->stats.msg_length_profile[6]++; } -/* tipc_link_timeout - perform periodic task as instructed from node timeout - */ /* tipc_link_timeout - perform periodic task as instructed from node timeout */ int tipc_link_timeout(struct tipc_link *l, struct sk_buff_head *xmitq) @@ -730,7 +729,8 @@ int tipc_link_timeout(struct tipc_link *l, struct sk_buff_head *xmitq) l->silent_intv_cnt++; break; case LINK_RESET: - xmit = true; + xmit = l->rst_cnt++ <= 4; + xmit |= !(l->rst_cnt % 16); mtyp = RESET_MSG; break; case LINK_ESTABLISHING: @@ -833,6 +833,7 @@ void tipc_link_reset(struct tipc_link *l) l->rcv_nxt = 1; l->acked = 0; l->silent_intv_cnt = 0; + l->rst_cnt = 0; l->stats.recv_info = 0; l->stale_count = 0; l->bc_peer_is_up = false;