aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprt.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sunrpc/xprt.c')
-rw-r--r--net/sunrpc/xprt.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c
index f8ca0a93454c..7a3999f0a4a2 100644
--- a/net/sunrpc/xprt.c
+++ b/net/sunrpc/xprt.c
@@ -477,9 +477,10 @@ int xprt_adjust_timeout(struct rpc_rqst *req)
477 return status; 477 return status;
478} 478}
479 479
480static void xprt_autoclose(void *args) 480static void xprt_autoclose(struct work_struct *work)
481{ 481{
482 struct rpc_xprt *xprt = (struct rpc_xprt *)args; 482 struct rpc_xprt *xprt =
483 container_of(work, struct rpc_xprt, task_cleanup);
483 484
484 xprt_disconnect(xprt); 485 xprt_disconnect(xprt);
485 xprt->ops->close(xprt); 486 xprt->ops->close(xprt);
@@ -916,7 +917,7 @@ struct rpc_xprt *xprt_create_transport(int proto, struct sockaddr *ap, size_t si
916 917
917 INIT_LIST_HEAD(&xprt->free); 918 INIT_LIST_HEAD(&xprt->free);
918 INIT_LIST_HEAD(&xprt->recv); 919 INIT_LIST_HEAD(&xprt->recv);
919 INIT_WORK(&xprt->task_cleanup, xprt_autoclose, xprt); 920 INIT_WORK(&xprt->task_cleanup, xprt_autoclose);
920 init_timer(&xprt->timer); 921 init_timer(&xprt->timer);
921 xprt->timer.function = xprt_init_autodisconnect; 922 xprt->timer.function = xprt_init_autodisconnect;
922 xprt->timer.data = (unsigned long) xprt; 923 xprt->timer.data = (unsigned long) xprt;