From 77d71aee7e0a467d9f0ea628863aa234e90adcb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= Date: Tue, 21 Jul 2009 01:57:59 +0000 Subject: [PATCH] --- yaml --- r: 159022 b: refs/heads/master c: 2e2fb4b33d62c742019774c5e6e47711a3d60505 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/phonet/pep.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 8878fef50dfb..eea7ce838713 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c1dc13e9d0bc35a8d85bf4238c48c1b627d48f35 +refs/heads/master: 2e2fb4b33d62c742019774c5e6e47711a3d60505 diff --git a/trunk/net/phonet/pep.c b/trunk/net/phonet/pep.c index eef833ea6d7b..b8252d289cd7 100644 --- a/trunk/net/phonet/pep.c +++ b/trunk/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; }