diff options
Diffstat (limited to 'net/tipc')
-rw-r--r-- | net/tipc/bcast.c | 4 | ||||
-rw-r--r-- | net/tipc/link.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c index 3e41704832de..5ee5076a8b27 100644 --- a/net/tipc/bcast.c +++ b/net/tipc/bcast.c | |||
@@ -215,7 +215,11 @@ void tipc_bclink_acknowledge(struct tipc_node *n_ptr, u32 acked) | |||
215 | struct net *net = n_ptr->net; | 215 | struct net *net = n_ptr->net; |
216 | struct tipc_net *tn = net_generic(net, tipc_net_id); | 216 | struct tipc_net *tn = net_generic(net, tipc_net_id); |
217 | 217 | ||
218 | if (unlikely(!n_ptr->bclink.recv_permitted)) | ||
219 | return; | ||
220 | |||
218 | tipc_bclink_lock(net); | 221 | tipc_bclink_lock(net); |
222 | |||
219 | /* Bail out if tx queue is empty (no clean up is required) */ | 223 | /* Bail out if tx queue is empty (no clean up is required) */ |
220 | skb = skb_peek(&tn->bcl->outqueue); | 224 | skb = skb_peek(&tn->bcl->outqueue); |
221 | if (!skb) | 225 | if (!skb) |
diff --git a/net/tipc/link.c b/net/tipc/link.c index 56c39b1a53a9..2652c3286e2f 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c | |||
@@ -1117,7 +1117,7 @@ void tipc_rcv(struct net *net, struct sk_buff *skb, struct tipc_bearer *b_ptr) | |||
1117 | ackd = msg_ack(msg); | 1117 | ackd = msg_ack(msg); |
1118 | 1118 | ||
1119 | /* Release acked messages */ | 1119 | /* Release acked messages */ |
1120 | if (likely(n_ptr->bclink.recv_permitted)) | 1120 | if (unlikely(n_ptr->bclink.acked != msg_bcast_ack(msg))) |
1121 | tipc_bclink_acknowledge(n_ptr, msg_bcast_ack(msg)); | 1121 | tipc_bclink_acknowledge(n_ptr, msg_bcast_ack(msg)); |
1122 | 1122 | ||
1123 | released = 0; | 1123 | released = 0; |