diff options
-rw-r--r-- | net/sunrpc/clnt.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index b9276a63eaf1..0edada973434 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c | |||
@@ -1529,9 +1529,13 @@ call_refreshresult(struct rpc_task *task) | |||
1529 | task->tk_action = call_refresh; | 1529 | task->tk_action = call_refresh; |
1530 | switch (status) { | 1530 | switch (status) { |
1531 | case 0: | 1531 | case 0: |
1532 | if (rpcauth_uptodatecred(task)) | 1532 | if (rpcauth_uptodatecred(task)) { |
1533 | task->tk_action = call_allocate; | 1533 | task->tk_action = call_allocate; |
1534 | return; | 1534 | return; |
1535 | } | ||
1536 | /* Use rate-limiting and a max number of retries if refresh | ||
1537 | * had status 0 but failed to update the cred. | ||
1538 | */ | ||
1535 | case -ETIMEDOUT: | 1539 | case -ETIMEDOUT: |
1536 | rpc_delay(task, 3*HZ); | 1540 | rpc_delay(task, 3*HZ); |
1537 | case -EAGAIN: | 1541 | case -EAGAIN: |