From 22cedfddde8b0433e699c547e028d78ed1f645d0 Mon Sep 17 00:00:00 2001 From: "J. Bruce Fields" Date: Thu, 13 Oct 2005 16:54:48 -0400 Subject: [PATCH] --- yaml --- r: 10005 b: refs/heads/master c: f3680312a737355ddf35c1b68af25e384d7ef0a8 h: refs/heads/master i: 10003: 94ab676d69c54fda629b1b8b46f67707b59c7a5a v: v3 --- [refs] | 2 +- trunk/net/sunrpc/clnt.c | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 8a21898cfc8f..3a1d366f698d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ead5e1c26fdcd969cf40c49cb0589d56879d240d +refs/heads/master: f3680312a737355ddf35c1b68af25e384d7ef0a8 diff --git a/trunk/net/sunrpc/clnt.c b/trunk/net/sunrpc/clnt.c index 534274056329..702ede309b06 100644 --- a/trunk/net/sunrpc/clnt.c +++ b/trunk/net/sunrpc/clnt.c @@ -710,9 +710,16 @@ call_encode(struct rpc_task *task) rpc_exit(task, -EIO); return; } - if (encode != NULL) - task->tk_status = rpcauth_wrap_req(task, encode, req, p, - task->tk_msg.rpc_argp); + if (encode == NULL) + return; + + task->tk_status = rpcauth_wrap_req(task, encode, req, p, + task->tk_msg.rpc_argp); + if (task->tk_status == -ENOMEM) { + /* XXX: Is this sane? */ + rpc_delay(task, 3*HZ); + task->tk_status = -EAGAIN; + } } /*