aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc')
-rw-r--r--net/tipc/bcast.c4
-rw-r--r--net/tipc/link.c2
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;