X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=net%2Frxrpc%2Far-output.c;h=cc9102c5b588319e09b9769302bd5704e9bfb8e3;hb=d8f4b819c3a5b54a978c6fe5249a17cff490c4a1;hp=591c4422205e4bb9e76d3b7c71ca1d1c13fc8795;hpb=7e20ef030dde0e52dd5a57220ee82fa9facbea4e;p=linux-2.6 diff --git a/net/rxrpc/ar-output.c b/net/rxrpc/ar-output.c index 591c442220..cc9102c5b5 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: