summaryrefslogtreecommitdiffstats
path: root/net/rxrpc/ar-output.c
diff options
context:
space:
mode:
authorDavid Howells2007-06-19 08:30:41 +0200
committerDavid S. Miller2007-06-19 08:30:41 +0200
commit19e6454ca778e11e81497bd87c930dc0defd03d7 (patch)
tree6be1cee2976d6528665017d52bcdcfbbc4d6938f /net/rxrpc/ar-output.c
parent[IPVS]: Fix state variable on failure to start ipvs threads (diff)
downloadkernel-qcow2-linux-19e6454ca778e11e81497bd87c930dc0defd03d7.tar.gz
kernel-qcow2-linux-19e6454ca778e11e81497bd87c930dc0defd03d7.tar.xz
kernel-qcow2-linux-19e6454ca778e11e81497bd87c930dc0defd03d7.zip
[AF_RXRPC]: Return the number of bytes buffered in rxrpc_send_data()
Return the number of bytes buffered in rxrpc_send_data(). Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rxrpc/ar-output.c')
-rw-r--r--net/rxrpc/ar-output.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/rxrpc/ar-output.c b/net/rxrpc/ar-output.c
index 591c4422205e..cc9102c5b588 100644
--- a/net/rxrpc/ar-output.c
+++ b/net/rxrpc/ar-output.c
@@ -640,6 +640,7 @@ static int rxrpc_send_data(struct kiocb *iocb,
goto efault;
sp->remain -= copy;
skb->mark += copy;
+ copied += copy;
len -= copy;
segment -= copy;
@@ -709,6 +710,8 @@ static int rxrpc_send_data(struct kiocb *iocb,
} while (segment > 0);
+success:
+ ret = copied;
out:
call->tx_pending = skb;
_leave(" = %d", ret);
@@ -725,7 +728,7 @@ call_aborted:
maybe_error:
if (copied)
- ret = copied;
+ goto success;
goto out;
efault: