diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-12-21 10:46:08 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-12-21 10:46:08 -0500 |
commit | cd6a22310ec2a70092e136d0cd65bb77c1502521 (patch) | |
tree | c01fa788b27b240c7b426d7f329d92bd58c7b8f5 /net/sunrpc/xprtsock.c | |
parent | 1e12a521d6917004f8b95a3b5864b92edc2694c8 (diff) | |
parent | 177c459b08a34dcf004aa9a4c1f1d8be682ff3af (diff) |
Merge USB 4.20-rc8 mergepoint into usb-next
We need the USB changes in here for additional patches to be able to
apply cleanly.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/sunrpc/xprtsock.c')
-rw-r--r-- | net/sunrpc/xprtsock.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 8a5e823e0b33..f0b3700cec95 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c | |||
@@ -1217,6 +1217,8 @@ static void xs_reset_transport(struct sock_xprt *transport) | |||
1217 | 1217 | ||
1218 | trace_rpc_socket_close(xprt, sock); | 1218 | trace_rpc_socket_close(xprt, sock); |
1219 | sock_release(sock); | 1219 | sock_release(sock); |
1220 | |||
1221 | xprt_disconnect_done(xprt); | ||
1220 | } | 1222 | } |
1221 | 1223 | ||
1222 | /** | 1224 | /** |
@@ -1237,8 +1239,6 @@ static void xs_close(struct rpc_xprt *xprt) | |||
1237 | 1239 | ||
1238 | xs_reset_transport(transport); | 1240 | xs_reset_transport(transport); |
1239 | xprt->reestablish_timeout = 0; | 1241 | xprt->reestablish_timeout = 0; |
1240 | |||
1241 | xprt_disconnect_done(xprt); | ||
1242 | } | 1242 | } |
1243 | 1243 | ||
1244 | static void xs_inject_disconnect(struct rpc_xprt *xprt) | 1244 | static void xs_inject_disconnect(struct rpc_xprt *xprt) |
@@ -1489,8 +1489,6 @@ static void xs_tcp_state_change(struct sock *sk) | |||
1489 | &transport->sock_state)) | 1489 | &transport->sock_state)) |
1490 | xprt_clear_connecting(xprt); | 1490 | xprt_clear_connecting(xprt); |
1491 | clear_bit(XPRT_CLOSING, &xprt->state); | 1491 | clear_bit(XPRT_CLOSING, &xprt->state); |
1492 | if (sk->sk_err) | ||
1493 | xprt_wake_pending_tasks(xprt, -sk->sk_err); | ||
1494 | /* Trigger the socket release */ | 1492 | /* Trigger the socket release */ |
1495 | xs_tcp_force_close(xprt); | 1493 | xs_tcp_force_close(xprt); |
1496 | } | 1494 | } |
@@ -2092,8 +2090,8 @@ static void xs_udp_setup_socket(struct work_struct *work) | |||
2092 | trace_rpc_socket_connect(xprt, sock, 0); | 2090 | trace_rpc_socket_connect(xprt, sock, 0); |
2093 | status = 0; | 2091 | status = 0; |
2094 | out: | 2092 | out: |
2095 | xprt_unlock_connect(xprt, transport); | ||
2096 | xprt_clear_connecting(xprt); | 2093 | xprt_clear_connecting(xprt); |
2094 | xprt_unlock_connect(xprt, transport); | ||
2097 | xprt_wake_pending_tasks(xprt, status); | 2095 | xprt_wake_pending_tasks(xprt, status); |
2098 | } | 2096 | } |
2099 | 2097 | ||
@@ -2329,8 +2327,8 @@ static void xs_tcp_setup_socket(struct work_struct *work) | |||
2329 | } | 2327 | } |
2330 | status = -EAGAIN; | 2328 | status = -EAGAIN; |
2331 | out: | 2329 | out: |
2332 | xprt_unlock_connect(xprt, transport); | ||
2333 | xprt_clear_connecting(xprt); | 2330 | xprt_clear_connecting(xprt); |
2331 | xprt_unlock_connect(xprt, transport); | ||
2334 | xprt_wake_pending_tasks(xprt, status); | 2332 | xprt_wake_pending_tasks(xprt, status); |
2335 | } | 2333 | } |
2336 | 2334 | ||