diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2009-10-14 23:40:11 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-14 23:40:11 -0400 |
commit | 766e9037cc139ee25ed93ee5ad11e1450c4b99f6 (patch) | |
tree | 062702b8edf203a6e91d1e6853ab24989617d758 /net/ipv6/udp.c | |
parent | 48bccd25df71f4f8177cb800f4b288222eb57761 (diff) |
net: sk_drops consolidation
sock_queue_rcv_skb() can update sk_drops itself, removing need for
callers to take care of it. This is more consistent since
sock_queue_rcv_skb() also reads sk_drops when queueing a skb.
This adds sk_drops managment to many protocols that not cared yet.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/udp.c')
-rw-r--r-- | net/ipv6/udp.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 1f8e2afa4490..b86425b7ea22 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
@@ -385,13 +385,11 @@ int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb) | |||
385 | goto drop; | 385 | goto drop; |
386 | } | 386 | } |
387 | 387 | ||
388 | if ((rc = sock_queue_rcv_skb(sk,skb)) < 0) { | 388 | if ((rc = sock_queue_rcv_skb(sk, skb)) < 0) { |
389 | /* Note that an ENOMEM error is charged twice */ | 389 | /* Note that an ENOMEM error is charged twice */ |
390 | if (rc == -ENOMEM) { | 390 | if (rc == -ENOMEM) |
391 | UDP6_INC_STATS_BH(sock_net(sk), | 391 | UDP6_INC_STATS_BH(sock_net(sk), |
392 | UDP_MIB_RCVBUFERRORS, is_udplite); | 392 | UDP_MIB_RCVBUFERRORS, is_udplite); |
393 | atomic_inc(&sk->sk_drops); | ||
394 | } | ||
395 | goto drop; | 393 | goto drop; |
396 | } | 394 | } |
397 | 395 | ||