|
@@ -1748,7 +1748,7 @@ static void tipc_sk_enqueue(struct sk_buff_head *inputq, struct sock *sk,
|
|
|
|
|
|
/* Try backlog, compensating for double-counted bytes */
|
|
/* Try backlog, compensating for double-counted bytes */
|
|
dcnt = &tipc_sk(sk)->dupl_rcvcnt;
|
|
dcnt = &tipc_sk(sk)->dupl_rcvcnt;
|
|
- if (sk->sk_backlog.len)
|
|
|
|
|
|
+ if (!sk->sk_backlog.len)
|
|
atomic_set(dcnt, 0);
|
|
atomic_set(dcnt, 0);
|
|
lim = rcvbuf_limit(sk, skb) + atomic_read(dcnt);
|
|
lim = rcvbuf_limit(sk, skb) + atomic_read(dcnt);
|
|
if (likely(!sk_add_backlog(sk, skb, lim)))
|
|
if (likely(!sk_add_backlog(sk, skb, lim)))
|