]> Pileus Git - ~andy/linux/blobdiff - net/sunrpc/clnt.c
Merge branch 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / net / sunrpc / clnt.c
index b84d7395535e7aae2d523797134c27d8a9e57c11..7389b7da3a8df705485a277d4afebab5a7a5b535 100644 (file)
@@ -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:
@@ -1663,19 +1666,18 @@ rpc_verify_header(struct rpc_task *task)
                if (--len < 0)
                        goto out_overflow;
                switch ((n = ntohl(*p++))) {
-                       case RPC_AUTH_ERROR:
-                               break;
-                       case RPC_MISMATCH:
-                               dprintk("RPC: %5u %s: RPC call version "
-                                               "mismatch!\n",
-                                               task->tk_pid, __func__);
-                               error = -EPROTONOSUPPORT;
-                               goto out_err;
-                       default:
-                               dprintk("RPC: %5u %s: RPC call rejected, "
-                                               "unknown error: %x\n",
-                                               task->tk_pid, __func__, n);
-                               goto out_eio;
+               case RPC_AUTH_ERROR:
+                       break;
+               case RPC_MISMATCH:
+                       dprintk("RPC: %5u %s: RPC call version mismatch!\n",
+                               task->tk_pid, __func__);
+                       error = -EPROTONOSUPPORT;
+                       goto out_err;
+               default:
+                       dprintk("RPC: %5u %s: RPC call rejected, "
+                               "unknown error: %x\n",
+                               task->tk_pid, __func__, n);
+                       goto out_eio;
                }
                if (--len < 0)
                        goto out_overflow;