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>
This commit is contained in:
Rémi Denis-Courmont 2009-07-21 01:57:58 +00:00 committed by David S. Miller
parent 2e2fb4b33d
commit 2eee40c7f7

View File

@ -159,8 +159,11 @@ static int pn_recvmsg(struct kiocb *iocb, struct sock *sk,
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;
}