Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1a5964f authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont Committed by David S. Miller
Browse files

Phonet: restore flow control credits when sending fails



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 1a98214f
	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: default avatarRémi Denis-Courmont <remi.denis-courmont@nokia.com>
	Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>

Signed-off-by: default avatarKumar Sanghvi <kumar.sanghvi@stericsson.com>
Acked-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 10206601
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -1288,6 +1288,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,
@@ -1314,10 +1315,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,