nvme-pci: remove an extra queue reference
authorChristoph Hellwig <hch@lst.de>
Tue, 18 Oct 2022 13:57:19 +0000 (15:57 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 25 Oct 2022 14:25:35 +0000 (08:25 -0600)
Now that blk_mq_destroy_queue does not release the queue reference, there
is no need for a second admin queue reference to be held by the nvme_dev.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Link: https://lore.kernel.org/r/20221018135720.670094-4-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/pci.c

index 7d37c81..5f1d71a 100644 (file)
@@ -1749,7 +1749,6 @@ static void nvme_dev_remove_admin(struct nvme_dev *dev)
                 */
                nvme_start_admin_queue(&dev->ctrl);
                blk_mq_destroy_queue(dev->ctrl.admin_q);
-               blk_put_queue(dev->ctrl.admin_q);
                blk_mq_free_tag_set(&dev->admin_tagset);
        }
 }
@@ -1778,11 +1777,6 @@ static int nvme_pci_alloc_admin_tag_set(struct nvme_dev *dev)
                dev->ctrl.admin_q = NULL;
                return -ENOMEM;
        }
-       if (!blk_get_queue(dev->ctrl.admin_q)) {
-               nvme_dev_remove_admin(dev);
-               dev->ctrl.admin_q = NULL;
-               return -ENODEV;
-       }
        return 0;
 }