aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprtsock.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sunrpc/xprtsock.c')
-rw-r--r--net/sunrpc/xprtsock.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 76a33b54f436..182da2edf61c 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -703,7 +703,7 @@ static void xs_tcp_state_change(struct sock *sk)
703 xprt->tcp_reclen = 0; 703 xprt->tcp_reclen = 0;
704 xprt->tcp_copied = 0; 704 xprt->tcp_copied = 0;
705 xprt->tcp_flags = XPRT_COPY_RECM | XPRT_COPY_XID; 705 xprt->tcp_flags = XPRT_COPY_RECM | XPRT_COPY_XID;
706 rpc_wake_up(&xprt->pending); 706 xprt_wake_pending_tasks(xprt, 0);
707 } 707 }
708 spin_unlock_bh(&xprt->transport_lock); 708 spin_unlock_bh(&xprt->transport_lock);
709 break; 709 break;
@@ -920,10 +920,7 @@ static void xs_connect_worker(void *args)
920 } 920 }
921 } 921 }
922out: 922out:
923 if (status < 0) 923 xprt_wake_pending_tasks(xprt, status);
924 rpc_wake_up_status(&xprt->pending, status);
925 else
926 rpc_wake_up(&xprt->pending);
927out_clear: 924out_clear:
928 xprt_clear_connecting(xprt); 925 xprt_clear_connecting(xprt);
929} 926}