|
@@ -730,6 +730,8 @@ static int svc_handle_xprt(struct svc_rqst *rqstp, struct svc_xprt *xprt)
|
|
|
newxpt = xprt->xpt_ops->xpo_accept(xprt);
|
|
|
if (newxpt)
|
|
|
svc_add_new_temp_xprt(serv, newxpt);
|
|
|
+ else
|
|
|
+ module_put(xprt->xpt_class->xcl_owner);
|
|
|
} else if (xprt->xpt_ops->xpo_has_wspace(xprt)) {
|
|
|
/* XPT_DATA|XPT_DEFERRED case: */
|
|
|
dprintk("svc: server %p, pool %u, transport %p, inuse=%d\n",
|