summaryrefslogtreecommitdiff
path: root/net/9p/client.c
diff options
context:
space:
mode:
authorSimon Derr <simon.derr@bull.net>2013-06-21 17:32:42 +0400
committerEric Van Hensbergen <ericvh@gmail.com>2013-07-08 07:04:36 +0400
commit1cff33069a4a1ac9ed080756113ecd17ad408282 (patch)
treebc7c5e50fb6ad102b16b93da9263fc36506d5d32 /net/9p/client.c
parent2f52d07cb75d96fcbb5b9ab72938590fa9ffb19d (diff)
downloadlinux-1cff33069a4a1ac9ed080756113ecd17ad408282.tar.xz
9P/RDMA: count posted buffers without a pending request
In rdma_request(): If an error occurs between posting the recv and the send, there will be a reply context posted without a pending request. Since there is no way to "un-post" it, we remember it and skip post_recv() for the next request. Signed-off-by: Simon Derr <simon.derr@bull.net> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'net/9p/client.c')
-rw-r--r--net/9p/client.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/9p/client.c b/net/9p/client.c
index db5bf2480a33..d18a0b22f62c 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -656,8 +656,10 @@ static int p9_client_flush(struct p9_client *c, struct p9_req_t *oldreq)
return PTR_ERR(req);
- /* if we haven't received a response for oldreq,
- remove it from the list. */
+ /*
+ * if we haven't received a response for oldreq,
+ * remove it from the list.
+ */
spin_lock(&c->lock);
if (oldreq->status == REQ_STATUS_FLSH)
list_del(&oldreq->req_list);