diff options
Diffstat (limited to 'net/sunrpc/xprtsock.c')
-rw-r--r-- | net/sunrpc/xprtsock.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 6538e6fbb7ba..31b856a2935c 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c | |||
@@ -827,6 +827,9 @@ static void xs_reset_transport(struct sock_xprt *transport) | |||
827 | if (sk == NULL) | 827 | if (sk == NULL) |
828 | return; | 828 | return; |
829 | 829 | ||
830 | if (atomic_read(&transport->xprt.swapper)) | ||
831 | sk_clear_memalloc(sk); | ||
832 | |||
830 | write_lock_bh(&sk->sk_callback_lock); | 833 | write_lock_bh(&sk->sk_callback_lock); |
831 | transport->inet = NULL; | 834 | transport->inet = NULL; |
832 | transport->sock = NULL; | 835 | transport->sock = NULL; |