Skip to content

Commit 93e2c52

Browse files
committed
Merge tag 'nvme-5.17-2022-02-10' of git://git.infradead.org/nvme into block-5.17
Pull NVMe fixes from Christoph: "nvme fixes for Linux 5.17 - nvme-tcp: fix bogus request completion when failing to send AER (Sagi Grimberg) - add the missing nvme_complete_req tracepoint for batched completion (Bean Huo)" * tag 'nvme-5.17-2022-02-10' of git://git.infradead.org/nvme: nvme-tcp: fix bogus request completion when failing to send AER nvme: add nvme_complete_req tracepoint for batched completion
2 parents b13e0c7 + 6357380 commit 93e2c52

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

drivers/nvme/host/core.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,7 @@ EXPORT_SYMBOL_GPL(nvme_complete_rq);
368368

369369
void nvme_complete_batch_req(struct request *req)
370370
{
371+
trace_nvme_complete_rq(req);
371372
nvme_cleanup_cmd(req);
372373
nvme_end_req_zoned(req);
373374
}

drivers/nvme/host/tcp.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -913,7 +913,15 @@ static inline void nvme_tcp_done_send_req(struct nvme_tcp_queue *queue)
913913

914914
static void nvme_tcp_fail_request(struct nvme_tcp_request *req)
915915
{
916-
nvme_tcp_end_request(blk_mq_rq_from_pdu(req), NVME_SC_HOST_PATH_ERROR);
916+
if (nvme_tcp_async_req(req)) {
917+
union nvme_result res = {};
918+
919+
nvme_complete_async_event(&req->queue->ctrl->ctrl,
920+
cpu_to_le16(NVME_SC_HOST_PATH_ERROR), &res);
921+
} else {
922+
nvme_tcp_end_request(blk_mq_rq_from_pdu(req),
923+
NVME_SC_HOST_PATH_ERROR);
924+
}
917925
}
918926

919927
static int nvme_tcp_try_send_data(struct nvme_tcp_request *req)

0 commit comments

Comments
 (0)