|
@@ -2279,13 +2279,14 @@ static void xs_connect(struct rpc_xprt *xprt, struct rpc_task *task)
|
|
|
|
|
|
WARN_ON_ONCE(!xprt_lock_connect(xprt, task, transport));
|
|
|
|
|
|
- /* Start by resetting any existing state */
|
|
|
- xs_reset_transport(transport);
|
|
|
-
|
|
|
- if (transport->sock != NULL && !RPC_IS_SOFTCONN(task)) {
|
|
|
+ if (transport->sock != NULL) {
|
|
|
dprintk("RPC: xs_connect delayed xprt %p for %lu "
|
|
|
"seconds\n",
|
|
|
xprt, xprt->reestablish_timeout / HZ);
|
|
|
+
|
|
|
+ /* Start by resetting any existing state */
|
|
|
+ xs_reset_transport(transport);
|
|
|
+
|
|
|
queue_delayed_work(rpciod_workqueue,
|
|
|
&transport->connect_worker,
|
|
|
xprt->reestablish_timeout);
|