diff options
| -rw-r--r-- | net/sunrpc/clnt.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 498dd6ad5bc5..4216fe33204a 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c | |||
| @@ -1867,6 +1867,9 @@ call_bind(struct rpc_task *task) | |||
| 1867 | dprint_status(task); | 1867 | dprint_status(task); |
| 1868 | 1868 | ||
| 1869 | task->tk_action = call_bind_status; | 1869 | task->tk_action = call_bind_status; |
| 1870 | if (!xprt_prepare_transmit(task)) | ||
| 1871 | return; | ||
| 1872 | |||
| 1870 | task->tk_timeout = xprt->bind_timeout; | 1873 | task->tk_timeout = xprt->bind_timeout; |
| 1871 | xprt->ops->rpcbind(task); | 1874 | xprt->ops->rpcbind(task); |
| 1872 | } | 1875 | } |
| @@ -1911,6 +1914,8 @@ call_bind_status(struct rpc_task *task) | |||
| 1911 | task->tk_rebind_retry--; | 1914 | task->tk_rebind_retry--; |
| 1912 | rpc_delay(task, 3*HZ); | 1915 | rpc_delay(task, 3*HZ); |
| 1913 | goto retry_timeout; | 1916 | goto retry_timeout; |
| 1917 | case -EAGAIN: | ||
| 1918 | goto retry_timeout; | ||
| 1914 | case -ETIMEDOUT: | 1919 | case -ETIMEDOUT: |
| 1915 | dprintk("RPC: %5u rpcbind request timed out\n", | 1920 | dprintk("RPC: %5u rpcbind request timed out\n", |
| 1916 | task->tk_pid); | 1921 | task->tk_pid); |
| @@ -1952,7 +1957,7 @@ call_bind_status(struct rpc_task *task) | |||
| 1952 | 1957 | ||
| 1953 | retry_timeout: | 1958 | retry_timeout: |
| 1954 | task->tk_status = 0; | 1959 | task->tk_status = 0; |
| 1955 | task->tk_action = call_encode; | 1960 | task->tk_action = call_bind; |
| 1956 | rpc_check_timeout(task); | 1961 | rpc_check_timeout(task); |
| 1957 | } | 1962 | } |
| 1958 | 1963 | ||
| @@ -1986,6 +1991,8 @@ call_connect(struct rpc_task *task) | |||
| 1986 | rpc_exit(task, -ENOTCONN); | 1991 | rpc_exit(task, -ENOTCONN); |
| 1987 | return; | 1992 | return; |
| 1988 | } | 1993 | } |
| 1994 | if (!xprt_prepare_transmit(task)) | ||
| 1995 | return; | ||
| 1989 | xprt_connect(task); | 1996 | xprt_connect(task); |
| 1990 | } | 1997 | } |
| 1991 | 1998 | ||
