summaryrefslogtreecommitdiff
path: root/net/sunrpc/xprt.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2009-12-13 21:56:27 +0300
committerTrond Myklebust <Trond.Myklebust@netapp.com>2009-12-13 21:56:27 +0300
commit52c9948b1fd80381ba5a9a87dcc4fbe3cf4979b8 (patch)
tree7bca6a20560f428442f18450df0948774f982df0 /net/sunrpc/xprt.c
parentf40542532e96dda5506eb76badea322f2ae4731c (diff)
parent190f38e5cedc910940b1da9015f00458c18f97b4 (diff)
downloadlinux-52c9948b1fd80381ba5a9a87dcc4fbe3cf4979b8.tar.xz
Merge branch 'nfs-for-2.6.33'
Diffstat (limited to 'net/sunrpc/xprt.c')
-rw-r--r--net/sunrpc/xprt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c
index fd46d42afa89..469de292c23c 100644
--- a/net/sunrpc/xprt.c
+++ b/net/sunrpc/xprt.c
@@ -700,6 +700,10 @@ void xprt_connect(struct rpc_task *task)
}
if (!xprt_lock_write(xprt, task))
return;
+
+ if (test_and_clear_bit(XPRT_CLOSE_WAIT, &xprt->state))
+ xprt->ops->close(xprt);
+
if (xprt_connected(xprt))
xprt_release_write(xprt, task);
else {