2.6.32.28 update
/net/sunrpc/svc_xprt.c
blob:df760adaa2c9f99c375077959e0505bd9ae89983 -> blob:3fbd6ba788e5c6b3e3ebc8252e059cb9972e87ac
--- net/sunrpc/svc_xprt.c
+++ net/sunrpc/svc_xprt.c
@@ -209,7 +209,6 @@ int svc_create_xprt(struct svc_serv *ser
spin_lock(&svc_xprt_class_lock);
list_for_each_entry(xcl, &svc_xprt_class_list, xcl_list) {
struct svc_xprt *newxprt;
- unsigned short newport;
if (strcmp(xprt_name, xcl->xcl_name))
continue;
@@ -228,9 +227,8 @@ int svc_create_xprt(struct svc_serv *ser
spin_lock_bh(&serv->sv_lock);
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);
- return newport;
+ return svc_xprt_local_port(newxprt);
}
err:
spin_unlock(&svc_xprt_class_lock);
@@ -432,13 +430,8 @@ void svc_xprt_received(struct svc_xprt *
{
BUG_ON(!test_bit(XPT_BUSY, &xprt->xpt_flags));
xprt->xpt_pool = NULL;
- /* As soon as we clear busy, the xprt could be closed and
- * 'put', so we need a reference to call svc_xprt_enqueue with:
- */
- svc_xprt_get(xprt);
clear_bit(XPT_BUSY, &xprt->xpt_flags);
svc_xprt_enqueue(xprt);
- svc_xprt_put(xprt);
}
EXPORT_SYMBOL_GPL(svc_xprt_received);