]> rtime.felk.cvut.cz Git - linux-imx.git/commitdiff
svcrpc: make svc_create_xprt enqueue on clearing XPT_BUSY
authorJ. Bruce Fields <bfields@redhat.com>
Tue, 14 Aug 2012 19:27:23 +0000 (15:27 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 21 Aug 2012 21:07:36 +0000 (17:07 -0400)
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>
net/sunrpc/svc_xprt.c

index e1810b947dea79204e2bf86350e3b3f790089a86..4801fdac2c9d3fee4714e3f13c9b94670437a8fc 100644 (file)
@@ -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: