OSDN Git Service

nvme-rdma: fix a missing completion with remove invalidation
authorChristoph Hellwig <hch@lst.de>
Tue, 23 Jun 2020 16:22:39 +0000 (18:22 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 24 Jun 2020 15:15:58 +0000 (09:15 -0600)
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>
drivers/nvme/host/rdma.c

index 97b1054..6d5c449 100644 (file)
@@ -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)