diff options
author | J. Bruce Fields <bfields@redhat.com> | 2012-08-14 21:27:23 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-08-21 23:07:36 +0200 |
commit | c3341966943284ab3618a1814cefd693ad9aa736 (patch) | |
tree | 7319ce55f509fc2a3ef119b8d9d4eabd138b9a80 /net/sunrpc/svc_xprt.c | |
parent | svcrpc: clean up control flow (diff) | |
download | linux-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>
Diffstat (limited to 'net/sunrpc/svc_xprt.c')
-rw-r--r-- | net/sunrpc/svc_xprt.c | 2 |
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: |