diff options
author | Christoph Hellwig <hch@lst.de> | 2020-06-23 18:22:39 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-06-24 09:15:58 -0600 |
commit | 7a804c34c2db9e550c6f504f06a6a5cac7a44758 (patch) | |
tree | a0d4e4ff3bb9c169f9ca6c4156d773073b67a2db /drivers/nvme/host/rdma.c | |
parent | f61d6e259c7ebb9a134dee5cd0b32c192d726984 (diff) | |
download | lwn-7a804c34c2db9e550c6f504f06a6a5cac7a44758.tar.gz lwn-7a804c34c2db9e550c6f504f06a6a5cac7a44758.zip |
nvme-rdma: fix a missing completion with remove invalidation
Revert and incorret transformation that caused requests using remote
invalidation to never complete.
Fixes: 421147be863b ("nvme-rdma: factor out a nvme_rdma_end_request helper")
Reported-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/nvme/host/rdma.c')
-rw-r--r-- | drivers/nvme/host/rdma.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/nvme/host/rdma.c b/drivers/nvme/host/rdma.c index 97b1054efb84..6d5c4495f352 100644 --- a/drivers/nvme/host/rdma.c +++ b/drivers/nvme/host/rdma.c @@ -1696,9 +1696,10 @@ static void nvme_rdma_process_nvme_rsp(struct nvme_rdma_queue *queue, nvme_rdma_error_recovery(queue->ctrl); } /* the local invalidation completion will end the request */ - } else { - nvme_rdma_end_request(req); + return; } + + nvme_rdma_end_request(req); } static void nvme_rdma_recv_done(struct ib_cq *cq, struct ib_wc *wc) |