Blob Blame History Raw
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 26 Feb 2021 08:17:26 +0100
Subject: nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request()
Patch-mainline: v5.12-rc3
Git-commit: d3589381987ec879b03f8ce3039df57e87f05901
References: bsc#1184259

NVME_REQ_CANCELLED is translated into -EINTR in nvme_submit_sync_cmd(),
so we should be setting this flags during nvme_cancel_request() to
ensure that the callers to nvme_submit_sync_cmd() will get the correct
error code when the controller is reset.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Chao Leng <lengchao@huawei.com>
Reviewed-by: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/nvme/host/core.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -341,6 +341,7 @@ bool nvme_cancel_request(struct request
 		return true;
 
 	nvme_req(req)->status = NVME_SC_HOST_ABORTED_CMD;
+	nvme_req(req)->flags |= NVME_REQ_CANCELLED;
 	blk_mq_force_complete_rq(req);
 	return true;
 }