Phonet: dropped datagrams accounting
authorRémi Denis-Courmont <remi.denis-courmont@nokia.com>
Tue, 21 Jul 2009 01:57:58 +0000 (01:57 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Jul 2009 00:58:20 +0000 (17:58 -0700)
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>
net/phonet/datagram.c

index e087862ed7e4342f5e5a0c28feb50d724150a881..ef5c75c372e41701965737ae04ed88c0f805c9f2 100644 (file)
@@ -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;
 }