From: Nishanth Aravamudan Subject: [KJ] [PATCH] net/clnt: remove sleep_on*() usage Directly use wait-queues instead of the deprecated sleep_on_timeout(). Since the sleep in this function is unconditional, wait_event_timeout() does not appear to be appropriate. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer --- clnt.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) Index: quilt/net/sunrpc/clnt.c =================================================================== --- quilt.orig/net/sunrpc/clnt.c +++ quilt/net/sunrpc/clnt.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -258,6 +259,7 @@ out_no_clnt: int rpc_shutdown_client(struct rpc_clnt *clnt) { + DEFINE_WAIT(wait); dprintk("RPC: shutting down %s client for %s, tasks=%d\n", clnt->cl_protname, clnt->cl_server, atomic_read(&clnt->cl_users)); @@ -267,7 +269,9 @@ rpc_shutdown_client(struct rpc_clnt *cln clnt->cl_oneshot = 0; clnt->cl_dead = 0; rpc_killall_tasks(clnt); - sleep_on_timeout(&destroy_wait, 1*HZ); + prepare_to_wait(&destroy_wait, &wait, TASK_UNINTERRUPTIBLE); + schedule_timeout(HZ); + finish_wait(&destroy_wait, &wait); } if (atomic_read(&clnt->cl_users) < 0) {