diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -538,6 +538,8 @@ bool nvme_cancel_request(struct request *req, void *data) if (blk_mq_rq_state(req) != MQ_RQ_IN_FLIGHT) return true; + if (!(nvme_req(req)->ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)) + nvme_req(req)->genctr++; nvme_req(req)->status = NVME_SC_HOST_ABORTED_CMD; nvme_req(req)->flags |= NVME_REQ_CANCELLED; blk_mq_complete_request(req);