summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2012-08-14 21:27:23 +0200
committerJ. Bruce Fields <bfields@redhat.com>2012-08-21 23:07:36 +0200
commitc3341966943284ab3618a1814cefd693ad9aa736 (patch)
tree7319ce55f509fc2a3ef119b8d9d4eabd138b9a80
parentsvcrpc: clean up control flow (diff)
downloadlinux-c3341966943284ab3618a1814cefd693ad9aa736.tar.xz
linux-c3341966943284ab3618a1814cefd693ad9aa736.zip
svcrpc: make svc_create_xprt enqueue on clearing XPT_BUSY
Whenever we clear XPT_BUSY we should call svc_xprt_enqueue(). Without that we may fail to notice any events (such as new connections) that arrived while XPT_BUSY was set. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r--net/sunrpc/svc_xprt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index e1810b947dea..4801fdac2c9d 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -238,7 +238,7 @@ int svc_create_xprt(struct svc_serv *serv, const char *xprt_name,
list_add(&newxprt->xpt_list, &serv->sv_permsocks);
spin_unlock_bh(&serv->sv_lock);
newport = svc_xprt_local_port(newxprt);
- clear_bit(XPT_BUSY, &newxprt->xpt_flags);
+ svc_xprt_received(newxprt);
return newport;
}
err: