Message ID | 1285835105-20293-1-git-send-email-kumar.sanghvi@stericsson.com |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
Hi All, On Thu, Sep 30, 2010 at 10:25:05 +0200, Kumar A SANGHVI wrote: > From: Rémi Denis-Courmont <remi.denis-courmont@nokia.com> > > This patch restores the below flow control patch submitted by Rémi > Denis-Courmont, which accidentaly got lost due to Pipe controller patch > on Phonet. > > commit 1a98214feef2221cd7c24b17cd688a5a9d85b2ea > Author: Rémi Denis-Courmont <remi.denis-courmont@nokia.com> > Date: Mon Aug 30 12:57:03 2010 +0000 > > Phonet: restore flow control credits when sending fails > > Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com> > Signed-off-by: David S. Miller <davem@davemloft.net> > > Signed-off-by: Kumar Sanghvi <kumar.sanghvi@stericsson.com> > Acked-by: Linus Walleij <linus.walleij@stericsson.com> Please discard this. I will send a new patch. Thanks, Kumar. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/phonet/pep.c b/net/phonet/pep.c index 9746c6d..aa3d870 100644 --- a/net/phonet/pep.c +++ b/net/phonet/pep.c @@ -1289,6 +1289,7 @@ static int pipe_skb_send(struct sock *sk, struct sk_buff *skb) { struct pep_sock *pn = pep_sk(sk); struct pnpipehdr *ph; + int err; #ifdef CONFIG_PHONET_PIPECTRLR struct sockaddr_pn spn = { .spn_family = AF_PHONET, @@ -1315,10 +1316,15 @@ static int pipe_skb_send(struct sock *sk, struct sk_buff *skb) ph->message_id = PNS_PIPE_DATA; ph->pipe_handle = pn->pipe_handle; #ifdef CONFIG_PHONET_PIPECTRLR - return pn_skb_send(sk, skb, &spn); + err = pn_skb_send(sk, skb, &spn); #else - return pn_skb_send(sk, skb, &pipe_srv); + err = pn_skb_send(sk, skb, &pipe_srv); #endif + + if (err && pn_flow_safe(pn->tx_fc)) + atomic_inc(&pn->tx_credits); + return err; + } static int pep_sendmsg(struct kiocb *iocb, struct sock *sk,