diff options
Diffstat (limited to 'net/sunrpc/svc_xprt.c')
-rw-r--r-- | net/sunrpc/svc_xprt.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index df124f78ee48..b845e2293dfe 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c | |||
@@ -129,8 +129,8 @@ static void svc_xprt_free(struct kref *kref) | |||
129 | struct svc_xprt *xprt = | 129 | struct svc_xprt *xprt = |
130 | container_of(kref, struct svc_xprt, xpt_ref); | 130 | container_of(kref, struct svc_xprt, xpt_ref); |
131 | struct module *owner = xprt->xpt_class->xcl_owner; | 131 | struct module *owner = xprt->xpt_class->xcl_owner; |
132 | if (test_bit(XPT_CACHE_AUTH, &xprt->xpt_flags) | 132 | if (test_bit(XPT_CACHE_AUTH, &xprt->xpt_flags) && |
133 | && xprt->xpt_auth_cache != NULL) | 133 | xprt->xpt_auth_cache != NULL) |
134 | svcauth_unix_info_release(xprt->xpt_auth_cache); | 134 | svcauth_unix_info_release(xprt->xpt_auth_cache); |
135 | xprt->xpt_ops->xpo_free(xprt); | 135 | xprt->xpt_ops->xpo_free(xprt); |
136 | module_put(owner); | 136 | module_put(owner); |
@@ -846,8 +846,8 @@ static void svc_age_temp_xprts(unsigned long closure) | |||
846 | * through, close it. */ | 846 | * through, close it. */ |
847 | if (!test_and_set_bit(XPT_OLD, &xprt->xpt_flags)) | 847 | if (!test_and_set_bit(XPT_OLD, &xprt->xpt_flags)) |
848 | continue; | 848 | continue; |
849 | if (atomic_read(&xprt->xpt_ref.refcount) > 1 | 849 | if (atomic_read(&xprt->xpt_ref.refcount) > 1 || |
850 | || test_bit(XPT_BUSY, &xprt->xpt_flags)) | 850 | test_bit(XPT_BUSY, &xprt->xpt_flags)) |
851 | continue; | 851 | continue; |
852 | svc_xprt_get(xprt); | 852 | svc_xprt_get(xprt); |
853 | list_move(le, &to_be_aged); | 853 | list_move(le, &to_be_aged); |