diff options
Diffstat (limited to 'net/tipc/bcast.c')
-rw-r--r-- | net/tipc/bcast.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c index 716de1ac6cb5..766a6eb4a88f 100644 --- a/net/tipc/bcast.c +++ b/net/tipc/bcast.c | |||
@@ -487,11 +487,13 @@ receive: | |||
487 | spin_lock_bh(&bc_lock); | 487 | spin_lock_bh(&bc_lock); |
488 | bclink_accept_pkt(node, seqno); | 488 | bclink_accept_pkt(node, seqno); |
489 | bcl->stats.recv_fragments++; | 489 | bcl->stats.recv_fragments++; |
490 | if (ret > 0) | 490 | if (ret > 0) { |
491 | bcl->stats.recv_fragmented++; | 491 | bcl->stats.recv_fragmented++; |
492 | spin_unlock_bh(&bc_lock); | ||
493 | goto receive; | ||
494 | } | ||
492 | spin_unlock_bh(&bc_lock); | 495 | spin_unlock_bh(&bc_lock); |
493 | tipc_node_unlock(node); | 496 | tipc_node_unlock(node); |
494 | tipc_net_route_msg(buf); | ||
495 | } else if (msg_user(msg) == NAME_DISTRIBUTOR) { | 497 | } else if (msg_user(msg) == NAME_DISTRIBUTOR) { |
496 | spin_lock_bh(&bc_lock); | 498 | spin_lock_bh(&bc_lock); |
497 | bclink_accept_pkt(node, seqno); | 499 | bclink_accept_pkt(node, seqno); |