summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprtsock.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-06-07 04:20:08 +0200
committerDavid S. Miller <davem@davemloft.net>2017-06-07 04:20:08 +0200
commit216fe8f021e33c36e3b27c49c9f1951f6b037d7f (patch)
treea43daec41b4d3955e7a4f8d0ed0654a7c80527ec /net/sunrpc/xprtsock.c
parentMerge branch 'phylib-support-for-MV88X3310-10G-phy' (diff)
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (diff)
downloadlinux-216fe8f021e33c36e3b27c49c9f1951f6b037d7f.tar.xz
linux-216fe8f021e33c36e3b27c49c9f1951f6b037d7f.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Just some simple overlapping changes in marvell PHY driver and the DSA core code. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sunrpc/xprtsock.c')
-rw-r--r--net/sunrpc/xprtsock.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 16aff8ddc16f..d5b54c020dec 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -2432,7 +2432,12 @@ static void xs_tcp_setup_socket(struct work_struct *work)
case -ENETUNREACH:
case -EADDRINUSE:
case -ENOBUFS:
- /* retry with existing socket, after a delay */
+ /*
+ * xs_tcp_force_close() wakes tasks with -EIO.
+ * We need to wake them first to ensure the
+ * correct error code.
+ */
+ xprt_wake_pending_tasks(xprt, status);
xs_tcp_force_close(xprt);
goto out;
}