From e6602c994c73b2746cc72b1ebcabec909a2c0375 Mon Sep 17 00:00:00 2001 From: "J. Bruce Fields" Date: Sat, 9 Apr 2011 10:03:10 -0400 Subject: [PATCH] --- yaml --- r: 252815 b: refs/heads/master c: 8985ef0b8af895c3b85a8c1b7108e0169fcbd20b h: refs/heads/master i: 252813: b6e53b67782f1b1943638cc7f04fe4f6cb39952c 252811: 03d072e4cf93a5c7d254d75ee981486ea7781e1d 252807: eabe8099d2b50d3407655a04a0654d3b919d0f83 252799: fe87ed7ea9be9ca37e740419979c6e0561e9ddca v: v3 --- [refs] | 2 +- trunk/net/sunrpc/svcsock.c | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 8b9c6607a597..b20be3b66ed4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d6c558379abc27241c75b8c30fc8c94b82537d5e +refs/heads/master: 8985ef0b8af895c3b85a8c1b7108e0169fcbd20b diff --git a/trunk/net/sunrpc/svcsock.c b/trunk/net/sunrpc/svcsock.c index 213dea8b283c..af04f779ce9f 100644 --- a/trunk/net/sunrpc/svcsock.c +++ b/trunk/net/sunrpc/svcsock.c @@ -1143,11 +1143,8 @@ static int svc_tcp_recvfrom(struct svc_rqst *rqstp) p = (__be32 *)rqstp->rq_arg.head[0].iov_base; calldir = p[1]; - if (calldir) { + if (calldir) len = receive_cb_reply(svsk, rqstp); - if (len < 0) - goto error; - } /* Reset TCP read info */ svsk->sk_reclen = 0; @@ -1156,6 +1153,8 @@ static int svc_tcp_recvfrom(struct svc_rqst *rqstp) if (svc_recv_available(svsk) > sizeof(rpc_fraghdr)) set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags); + if (len < 0) + goto error; svc_xprt_copy_addrs(rqstp, &svsk->sk_xprt); if (serv->sv_stats)