diff options
-rw-r--r-- | drivers/nvme/host/pci.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 6fe7af00a1f4..022b070e60b7 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c | |||
@@ -1452,7 +1452,7 @@ static int nvme_create_queue(struct nvme_queue *nvmeq, int qid) | |||
1452 | nvmeq->cq_vector = qid - 1; | 1452 | nvmeq->cq_vector = qid - 1; |
1453 | result = adapter_alloc_cq(dev, qid, nvmeq); | 1453 | result = adapter_alloc_cq(dev, qid, nvmeq); |
1454 | if (result < 0) | 1454 | if (result < 0) |
1455 | return result; | 1455 | goto release_vector; |
1456 | 1456 | ||
1457 | result = adapter_alloc_sq(dev, qid, nvmeq); | 1457 | result = adapter_alloc_sq(dev, qid, nvmeq); |
1458 | if (result < 0) | 1458 | if (result < 0) |
@@ -1466,9 +1466,12 @@ static int nvme_create_queue(struct nvme_queue *nvmeq, int qid) | |||
1466 | return result; | 1466 | return result; |
1467 | 1467 | ||
1468 | release_sq: | 1468 | release_sq: |
1469 | dev->online_queues--; | ||
1469 | adapter_delete_sq(dev, qid); | 1470 | adapter_delete_sq(dev, qid); |
1470 | release_cq: | 1471 | release_cq: |
1471 | adapter_delete_cq(dev, qid); | 1472 | adapter_delete_cq(dev, qid); |
1473 | release_vector: | ||
1474 | nvmeq->cq_vector = -1; | ||
1472 | return result; | 1475 | return result; |
1473 | } | 1476 | } |
1474 | 1477 | ||