aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorRémi Denis-Courmont <remi.denis-courmont@nokia.com>2009-07-21 01:57:58 +0000
committerDavid S. Miller <davem@davemloft.net>2009-07-23 17:58:20 -0700
commit2eee40c7f7c3734b28456169b2945e07d5ac0e2d (patch)
treea62f51b3142374d34adc49b7c571e04498185f6c /net
parentPhonet: account for dropped RX packets (diff)
downloadlinux-dev-2eee40c7f7c3734b28456169b2945e07d5ac0e2d.tar.xz
linux-dev-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')
-rw-r--r--net/phonet/datagram.c5
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;
}