diff options
| author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-12-05 23:20:17 +0000 | 
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-12-05 23:20:17 +0000 | 
| commit | 742eaa6a6e356a16788ce6530271de89bc4f8fb5 (patch) | |
| tree | 12fc040daab06ac796c61c1d92bfad9bb054d1c1 /net/sunrpc/xprtsock.c | |
| parent | ba8bb18a03f8c7508565c385576a5431a4ad804a (diff) | |
| parent | ae72fd588a2b302222769b44775912b83f0785eb (diff) | |
| download | olio-linux-3.10-742eaa6a6e356a16788ce6530271de89bc4f8fb5.tar.xz olio-linux-3.10-742eaa6a6e356a16788ce6530271de89bc4f8fb5.zip  | |
Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into devel-stable
Conflicts:
	arch/arm/common/gic.c
	arch/arm/plat-omap/include/plat/common.h
Diffstat (limited to 'net/sunrpc/xprtsock.c')
| -rw-r--r-- | net/sunrpc/xprtsock.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index d7f97ef2659..55472c48825 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -496,7 +496,7 @@ static int xs_nospace(struct rpc_task *task)  	struct rpc_rqst *req = task->tk_rqstp;  	struct rpc_xprt *xprt = req->rq_xprt;  	struct sock_xprt *transport = container_of(xprt, struct sock_xprt, xprt); -	int ret = 0; +	int ret = -EAGAIN;  	dprintk("RPC: %5u xmit incomplete (%u left of %u)\n",  			task->tk_pid, req->rq_slen - req->rq_bytes_sent, @@ -508,7 +508,6 @@ static int xs_nospace(struct rpc_task *task)  	/* Don't race with disconnect */  	if (xprt_connected(xprt)) {  		if (test_bit(SOCK_ASYNC_NOSPACE, &transport->sock->flags)) { -			ret = -EAGAIN;  			/*  			 * Notify TCP that we're limited by the application  			 * window size @@ -2530,8 +2529,10 @@ static struct rpc_xprt *xs_setup_xprt(struct xprt_create *args,  		int err;  		err = xs_init_anyaddr(args->dstaddr->sa_family,  					(struct sockaddr *)&new->srcaddr); -		if (err != 0) +		if (err != 0) { +			xprt_free(xprt);  			return ERR_PTR(err); +		}  	}  	return xprt;  |