summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2012-08-14 15:27:23 -0400
committerJ. Bruce Fields <bfields@redhat.com>2012-08-21 17:07:36 -0400
commitc3341966943284ab3618a1814cefd693ad9aa736 (patch)
tree7319ce55f509fc2a3ef119b8d9d4eabd138b9a80 /net
parenta8e10078a87c8a2c3c8d0f9856c0f74272fc0f74 (diff)
downloadlinux-c3341966943284ab3618a1814cefd693ad9aa736.tar.gz
linux-c3341966943284ab3618a1814cefd693ad9aa736.tar.bz2
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>
Diffstat (limited to 'net')
-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: