summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/clnt.c
diff options
context:
space:
mode:
authorJames Morris <jmorris@namei.org>2011-06-30 18:43:56 +1000
committerJames Morris <jmorris@namei.org>2011-06-30 18:43:56 +1000
commit5b944a71a192977c1c018bbcfa0c52dca48e2368 (patch)
tree9f234c4a93bb28890ad086c846d2bf0b35f7f7ae /net/sunrpc/clnt.c
parent0e4ae0e0dec634b2ae53ac57d14141b140467dbe (diff)
parentc017d0d1351f916c0ced3f358afc491fdcf490b4 (diff)
Merge branch 'linus' into next
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r--net/sunrpc/clnt.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index b84d7395535..8c9141583d6 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -1061,7 +1061,7 @@ call_allocate(struct rpc_task *task)
dprintk("RPC: %5u rpc_buffer allocation failed\n", task->tk_pid);
- if (RPC_IS_ASYNC(task) || !signalled()) {
+ if (RPC_IS_ASYNC(task) || !fatal_signal_pending(current)) {
task->tk_action = call_allocate;
rpc_delay(task, HZ>>4);
return;
@@ -1175,6 +1175,9 @@ call_bind_status(struct rpc_task *task)
status = -EOPNOTSUPP;
break;
}
+ if (task->tk_rebind_retry == 0)
+ break;
+ task->tk_rebind_retry--;
rpc_delay(task, 3*HZ);
goto retry_timeout;
case -ETIMEDOUT: