diff options
author | Rémi Denis-Courmont <remi.denis-courmont@nokia.com> | 2009-07-21 01:57:58 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-07-23 17:58:20 -0700 |
commit | 2eee40c7f7c3734b28456169b2945e07d5ac0e2d (patch) | |
tree | a62f51b3142374d34adc49b7c571e04498185f6c /net/phonet | |
parent | 2e2fb4b33d62c742019774c5e6e47711a3d60505 (diff) | |
download | linux-2eee40c7f7c3734b28456169b2945e07d5ac0e2d.tar.gz linux-2eee40c7f7c3734b28456169b2945e07d5ac0e2d.tar.bz2 linux-2eee40c7f7c3734b28456169b2945e07d5ac0e2d.zip |
Phonet: dropped datagrams accounting
The per-socket drop count is visible via /proc/net/phonet.
Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/phonet')
-rw-r--r-- | net/phonet/datagram.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/phonet/datagram.c b/net/phonet/datagram.c index e087862ed7e4..ef5c75c372e4 100644 --- a/net/phonet/datagram.c +++ b/net/phonet/datagram.c @@ -159,8 +159,11 @@ out_nofree: static int pn_backlog_rcv(struct sock *sk, struct sk_buff *skb) { int err = sock_queue_rcv_skb(sk, skb); - if (err < 0) + if (err < 0) { kfree_skb(skb); + if (err == -ENOMEM) + atomic_inc(&sk->sk_drops); + } return err ? NET_RX_DROP : NET_RX_SUCCESS; } |