diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/svc_xprt.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index 194d865fae72..be89bb67f0ae 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c | |||
@@ -218,7 +218,9 @@ static struct svc_xprt *__svc_xpo_create(struct svc_xprt_class *xcl, | |||
218 | */ | 218 | */ |
219 | static void svc_xprt_received(struct svc_xprt *xprt) | 219 | static void svc_xprt_received(struct svc_xprt *xprt) |
220 | { | 220 | { |
221 | BUG_ON(!test_bit(XPT_BUSY, &xprt->xpt_flags)); | 221 | WARN_ON_ONCE(!test_bit(XPT_BUSY, &xprt->xpt_flags)); |
222 | if (!test_bit(XPT_BUSY, &xprt->xpt_flags)) | ||
223 | return; | ||
222 | /* As soon as we clear busy, the xprt could be closed and | 224 | /* As soon as we clear busy, the xprt could be closed and |
223 | * 'put', so we need a reference to call svc_xprt_enqueue with: | 225 | * 'put', so we need a reference to call svc_xprt_enqueue with: |
224 | */ | 226 | */ |