tipc: fix stale links after re-enabling bearer
authorParthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
Thu, 21 Apr 2016 13:51:13 +0000 (15:51 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 24 Apr 2016 18:35:07 +0000 (14:35 -0400)
Commit 42b18f605fea ("tipc: refactor function tipc_link_timeout()"),
introduced a bug which prevents sending of probe messages during
link synchronization phase. This leads to hanging links, if the
bearer is disabled/enabled after links are up.

In this commit, we send the probe messages correctly.

Fixes: 42b18f605fea ("tipc: refactor function tipc_link_timeout()")
Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/link.c

index 2e28a7d7e80242098bd67cf35be1607bf34682c7..7059c94f33c55f03ce70e193a017cbf2bb441f3e 100644 (file)
@@ -721,8 +721,7 @@ int tipc_link_timeout(struct tipc_link *l, struct sk_buff_head *xmitq)
                mtyp = STATE_MSG;
                state = bc_acked != bc_snt;
                probe = l->silent_intv_cnt;
-               if (probe)
-                       l->silent_intv_cnt++;
+               l->silent_intv_cnt++;
                break;
        case LINK_RESET:
                setup = l->rst_cnt++ <= 4;