]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/sunrpc/svc_xprt.c
sunrpc: fix peername failed on closed listener
[karo-tx-linux.git] / net / sunrpc / svc_xprt.c
index df124f78ee489762f4a9028af3b95f38a90f34d3..0266ccada52af7eabbc833cc912c75f63cae49c4 100644 (file)
@@ -711,7 +711,8 @@ int svc_recv(struct svc_rqst *rqstp, long timeout)
        spin_unlock_bh(&pool->sp_lock);
 
        len = 0;
-       if (test_bit(XPT_LISTENER, &xprt->xpt_flags)) {
+       if (test_bit(XPT_LISTENER, &xprt->xpt_flags) &&
+           !test_bit(XPT_CLOSE, &xprt->xpt_flags)) {
                struct svc_xprt *newxpt;
                newxpt = xprt->xpt_ops->xpo_accept(xprt);
                if (newxpt) {