On Wed, Jun 13, 2018 at 05:14:34PM +0100, Ben Hutchings wrote:
On Mon, 2018-05-28 at 12:01 +0200, Greg Kroah-Hartman wrote:
result = adapter_alloc_sq(dev, qid, nvmeq); if (result < 0) @@ -1597,9 +1597,12 @@ static int nvme_create_queue(struct nvme return result; release_sq:
- dev->online_queues--;
This addition looks wrong. dev->online_queues is incremented by nvme_init_queue(), but this function only calls that at a point where it is sure to succeed. So why would a failure path need to decrement it?
Thank you very much the catching that. This particular patch is indeed not correct without the following:
161b8be2bd6ab ("nvme-pci: initialize queue memory before interrupts")