NVMe: Fix error clean-up on nvme_alloc_queue

The nvme_queue's depth is not set if we fail to allocate submission queue
entries, which was being used to determine how much coherent memory to
free on error. Use the depth variable instead.

Signed-off-by: Keith Busch <[email protected]>
Signed-off-by: Matthew Wilcox <[email protected]>
This commit is contained in:
Keith Busch 2013-05-01 13:07:47 -06:00 • committed by Matthew Wilcox
commit 68b8eca5f8

View file

@ -956,7 +956,7 @@ static struct nvme_queue *nvme_alloc_queue(struct nvme_dev *dev, int qid,
return nvmeq;
free_cqdma:
dma_free_coherent(dmadev, CQ_SIZE(nvmeq->q_depth), (void *)nvmeq->cqes,
dma_free_coherent(dmadev, CQ_SIZE(depth), (void *)nvmeq->cqes,
nvmeq->cq_dma_addr);
free_nvmeq:
kfree(nvmeq);