diff options
-rw-r--r-- | net/9p/trans_rdma.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/9p/trans_rdma.c b/net/9p/trans_rdma.c index b8b66d38f5b0..274a9c1d3c3d 100644 --- a/net/9p/trans_rdma.c +++ b/net/9p/trans_rdma.c | |||
@@ -294,6 +294,13 @@ handle_recv(struct p9_client *client, struct p9_trans_rdma *rdma, | |||
294 | if (!req) | 294 | if (!req) |
295 | goto err_out; | 295 | goto err_out; |
296 | 296 | ||
297 | /* Check that we have not yet received a reply for this request. | ||
298 | */ | ||
299 | if (unlikely(req->rc)) { | ||
300 | pr_err("Duplicate reply for request %d", tag); | ||
301 | goto err_out; | ||
302 | } | ||
303 | |||
297 | req->rc = c->rc; | 304 | req->rc = c->rc; |
298 | req->status = REQ_STATUS_RCVD; | 305 | req->status = REQ_STATUS_RCVD; |
299 | p9_client_cb(client, req); | 306 | p9_client_cb(client, req); |