]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/sunrpc/clnt.c
Merge ../linux-2.6
[linux-2.6-omap-h63xx.git] / net / sunrpc / clnt.c
index 53427405632926dcd2c5121a799285629ec00eca..702ede309b067260130321a32f8e8c1779b529bf 100644 (file)
@@ -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;
+       }
 }
 
 /*