]> err.no Git - linux-2.6/blobdiff - net/sunrpc/svcsock.c
[PATCH] e1000: Added disable packet split capability
[linux-2.6] / net / sunrpc / svcsock.c
index e50e7cf43737b584578e558709a95646ac123d9f..e67613e4eb18c7d39d0d4fe1c3cf28c6cffb12b0 100644 (file)
@@ -758,7 +758,7 @@ svc_tcp_accept(struct svc_sock *svsk)
        struct svc_serv *serv = svsk->sk_server;
        struct socket   *sock = svsk->sk_sock;
        struct socket   *newsock;
-       struct proto_ops *ops;
+       const struct proto_ops *ops;
        struct svc_sock *newsvsk;
        int             err, slen;
 
@@ -1026,7 +1026,7 @@ svc_tcp_recvfrom(struct svc_rqst *rqstp)
        } else {
                printk(KERN_NOTICE "%s: recvfrom returned errno %d\n",
                                        svsk->sk_server->sv_name, -len);
-               svc_sock_received(svsk);
+               goto err_delete;
        }
 
        return len;
@@ -1178,6 +1178,7 @@ svc_recv(struct svc_serv *serv, struct svc_rqst *rqstp, long timeout)
        arg->tail[0].iov_len = 0;
 
        try_to_freeze();
+       cond_resched();
        if (signalled())
                return -EINTR;