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 --- kj-domen/net/sunrpc/clnt.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) diff -puN net/sunrpc/clnt.c~sleep_on-net_sunrpc_clnt net/sunrpc/clnt.c --- kj/net/sunrpc/clnt.c~sleep_on-net_sunrpc_clnt 2005-04-05 12:56:58.000000000 +0200 +++ kj-domen/net/sunrpc/clnt.c 2005-04-05 12:56:58.000000000 +0200 @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -223,6 +224,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)); @@ -232,7 +234,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) { _