summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/clnt.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-12-10 09:22:34 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-12-10 09:22:34 +0100
commitc4aa8b2a8b63a269d63acafc0358a7b9f5d9e563 (patch)
treed04a7861e542665bb7c03aac729a72c957be8abc /net/sunrpc/clnt.c
parentMerge tag 'soundwire-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g... (diff)
parentLinux 4.20-rc6 (diff)
downloadlinux-c4aa8b2a8b63a269d63acafc0358a7b9f5d9e563.tar.xz
linux-c4aa8b2a8b63a269d63acafc0358a7b9f5d9e563.zip
Merge 4.20-rc6 into char-misc-next
This should resolve the hv driver merge conflict. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r--net/sunrpc/clnt.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index ae3b8145da35..c6782aa47525 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -1915,6 +1915,13 @@ call_connect_status(struct rpc_task *task)
struct rpc_clnt *clnt = task->tk_client;
int status = task->tk_status;
+ /* Check if the task was already transmitted */
+ if (!test_bit(RPC_TASK_NEED_XMIT, &task->tk_runstate)) {
+ xprt_end_transmit(task);
+ task->tk_action = call_transmit_status;
+ return;
+ }
+
dprint_status(task);
trace_rpc_connect_status(task);
@@ -2302,6 +2309,7 @@ out_retry:
task->tk_status = 0;
/* Note: rpc_verify_header() may have freed the RPC slot */
if (task->tk_rqstp == req) {
+ xdr_free_bvec(&req->rq_rcv_buf);
req->rq_reply_bytes_recvd = req->rq_rcv_buf.len = 0;
if (task->tk_client->cl_discrtry)
xprt_conditional_disconnect(req->rq_xprt,