nvme-pci: set cqe_seen on polled completions
Fixes: 920d13a884
("nvme-pci: factor out the cqe reading mechanics from __nvme_process_cq")
Reported-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
81a0b8d74e
commit
e9d8a0fdea
@ -801,6 +801,7 @@ static inline void nvme_handle_cqe(struct nvme_queue *nvmeq,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvmeq->cqe_seen = 1;
|
||||||
req = blk_mq_tag_to_rq(*nvmeq->tags, cqe->command_id);
|
req = blk_mq_tag_to_rq(*nvmeq->tags, cqe->command_id);
|
||||||
nvme_end_request(req, cqe->status, cqe->result);
|
nvme_end_request(req, cqe->status, cqe->result);
|
||||||
}
|
}
|
||||||
@ -830,10 +831,8 @@ static void nvme_process_cq(struct nvme_queue *nvmeq)
|
|||||||
consumed++;
|
consumed++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (consumed) {
|
if (consumed)
|
||||||
nvme_ring_cq_doorbell(nvmeq);
|
nvme_ring_cq_doorbell(nvmeq);
|
||||||
nvmeq->cqe_seen = 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static irqreturn_t nvme_irq(int irq, void *data)
|
static irqreturn_t nvme_irq(int irq, void *data)
|
||||||
|
Loading…
Reference in New Issue
Block a user