summaryrefslogtreecommitdiff
path: root/net/phonet/pep.c
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2009-09-19 00:06:59 -0400
committerLen Brown <len.brown@intel.com>2009-09-19 00:06:59 -0400
commit71fd68e7d234f6b7d8407c8f486764d24f8411f4 (patch)
tree6dc2a4c356b4f454fc85d0c7cb019986f6f4993b /net/phonet/pep.c
parent8ff0e082f0833d32c7523a6cd72b6cf6a2142ce8 (diff)
parent78f28b7c555359c67c2a0d23f7436e915329421e (diff)
Merge branch 'linus' into release
Diffstat (limited to 'net/phonet/pep.c')
-rw-r--r--net/phonet/pep.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/phonet/pep.c b/net/phonet/pep.c
index eef833ea6d7b..b8252d289cd7 100644
--- a/net/phonet/pep.c
+++ b/net/phonet/pep.c
@@ -346,8 +346,10 @@ static int pipe_do_rcv(struct sock *sk, struct sk_buff *skb)
break;
case PNS_PEP_CTRL_REQ:
- if (skb_queue_len(&pn->ctrlreq_queue) >= PNPIPE_CTRLREQ_MAX)
+ if (skb_queue_len(&pn->ctrlreq_queue) >= PNPIPE_CTRLREQ_MAX) {
+ atomic_inc(&sk->sk_drops);
break;
+ }
__skb_pull(skb, 4);
queue = &pn->ctrlreq_queue;
goto queue;
@@ -358,10 +360,13 @@ static int pipe_do_rcv(struct sock *sk, struct sk_buff *skb)
err = sock_queue_rcv_skb(sk, skb);
if (!err)
return 0;
+ if (err == -ENOMEM)
+ atomic_inc(&sk->sk_drops);
break;
}
if (pn->rx_credits == 0) {
+ atomic_inc(&sk->sk_drops);
err = -ENOBUFS;
break;
}