|
@@ -218,7 +218,9 @@ static struct svc_xprt *__svc_xpo_create(struct svc_xprt_class *xcl,
|
|
|
*/
|
|
|
static void svc_xprt_received(struct svc_xprt *xprt)
|
|
|
{
|
|
|
- BUG_ON(!test_bit(XPT_BUSY, &xprt->xpt_flags));
|
|
|
+ WARN_ON_ONCE(!test_bit(XPT_BUSY, &xprt->xpt_flags));
|
|
|
+ if (!test_bit(XPT_BUSY, &xprt->xpt_flags))
|
|
|
+ return;
|
|
|
/* As soon as we clear busy, the xprt could be closed and
|
|
|
* 'put', so we need a reference to call svc_xprt_enqueue with:
|
|
|
*/
|