Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
include/linux/sunrpc/xprtsock.h | 1 +
- net/sunrpc/xprtsock.c | 21 +++++++++++----------
- 2 files changed, 12 insertions(+), 10 deletions(-)
+ net/sunrpc/xprtsock.c | 22 ++++++++++++----------
+ 2 files changed, 13 insertions(+), 10 deletions(-)
--- a/include/linux/sunrpc/xprtsock.h
+++ b/include/linux/sunrpc/xprtsock.h
if (IS_ERR(sock)) {
status = PTR_ERR(sock);
goto out;
-@@ -2294,6 +2298,7 @@ static void xs_tcp_setup_socket(struct w
+@@ -2294,6 +2298,8 @@ static void xs_tcp_setup_socket(struct w
break;
case 0:
case -EINPROGRESS:
+ set_bit(XPRT_SOCK_CONNECT_SENT, &transport->sock_state);
++ fallthrough;
case -EALREADY:
xprt_unlock_connect(xprt, transport);
return;
-@@ -2345,13 +2350,9 @@ static void xs_connect(struct rpc_xprt *
+@@ -2345,13 +2351,9 @@ static void xs_connect(struct rpc_xprt *
WARN_ON_ONCE(!xprt_lock_connect(xprt, task, transport));