|
@@ -468,6 +468,12 @@ xprt_rdma_close(struct rpc_xprt *xprt)
|
|
xprt->reestablish_timeout = 0;
|
|
xprt->reestablish_timeout = 0;
|
|
xprt_disconnect_done(xprt);
|
|
xprt_disconnect_done(xprt);
|
|
rpcrdma_ep_disconnect(ep, ia);
|
|
rpcrdma_ep_disconnect(ep, ia);
|
|
|
|
+
|
|
|
|
+ /* Prepare @xprt for the next connection by reinitializing
|
|
|
|
+ * its credit grant to one (see RFC 8166, Section 3.3.3).
|
|
|
|
+ */
|
|
|
|
+ r_xprt->rx_buf.rb_credits = 1;
|
|
|
|
+ xprt->cwnd = RPC_CWNDSHIFT;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|