|
@@ -884,7 +884,6 @@ static void svc_age_temp_xprts(unsigned long closure)
|
|
|
continue;
|
|
|
list_del_init(le);
|
|
|
set_bit(XPT_CLOSE, &xprt->xpt_flags);
|
|
|
- set_bit(XPT_DETACHED, &xprt->xpt_flags);
|
|
|
dprintk("queuing xprt %p for closing\n", xprt);
|
|
|
|
|
|
/* a thread will dequeue and close it soon */
|
|
@@ -924,8 +923,7 @@ static void svc_delete_xprt(struct svc_xprt *xprt)
|
|
|
xprt->xpt_ops->xpo_detach(xprt);
|
|
|
|
|
|
spin_lock_bh(&serv->sv_lock);
|
|
|
- if (!test_and_set_bit(XPT_DETACHED, &xprt->xpt_flags))
|
|
|
- list_del_init(&xprt->xpt_list);
|
|
|
+ list_del_init(&xprt->xpt_list);
|
|
|
WARN_ON_ONCE(!list_empty(&xprt->xpt_ready));
|
|
|
if (test_bit(XPT_TEMP, &xprt->xpt_flags))
|
|
|
serv->sv_tmpcnt--;
|