diff options
Diffstat (limited to 'net/sunrpc/svc_xprt.c')
-rw-r--r-- | net/sunrpc/svc_xprt.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index 8c018df80692..bfbda676574a 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c | |||
@@ -931,7 +931,12 @@ void svc_close_xprt(struct svc_xprt *xprt) | |||
931 | if (test_and_set_bit(XPT_BUSY, &xprt->xpt_flags)) | 931 | if (test_and_set_bit(XPT_BUSY, &xprt->xpt_flags)) |
932 | /* someone else will have to effect the close */ | 932 | /* someone else will have to effect the close */ |
933 | return; | 933 | return; |
934 | 934 | /* | |
935 | * We expect svc_close_xprt() to work even when no threads are | ||
936 | * running (e.g., while configuring the server before starting | ||
937 | * any threads), so if the transport isn't busy, we delete | ||
938 | * it ourself: | ||
939 | */ | ||
935 | svc_delete_xprt(xprt); | 940 | svc_delete_xprt(xprt); |
936 | } | 941 | } |
937 | EXPORT_SYMBOL_GPL(svc_close_xprt); | 942 | EXPORT_SYMBOL_GPL(svc_close_xprt); |