| From 638d716caeba40dba06aee9474333deef640eff2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 2 Apr 2026 13:57:16 +0000 |
| Subject: nvme-pci: remove an extra queue reference |
| |
| From: Christoph Hellwig <hch@lst.de> |
| |
| [ Upstream commit 7dcebef90d35de13a326f765dd787538880566f9 ] |
| |
| 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> |
| Stable-dep-of: 03b3bcd319b3 ("nvme: fix admin request_queue lifetime") |
| Signed-off-by: Maximilian Heyne <mheyne@amazon.de> |
| Tested-by: Fedor Pchelkin <pchelkin@ispras.ru> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/nvme/host/pci.c | 6 ------ |
| 1 file changed, 6 deletions(-) |
| |
| diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c |
| index 27a4706bc9131..04f7db2ff9cc2 100644 |
| --- a/drivers/nvme/host/pci.c |
| +++ b/drivers/nvme/host/pci.c |
| @@ -1783,7 +1783,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); |
| } |
| } |
| @@ -1812,11 +1811,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; |
| } |
| |
| -- |
| 2.53.0 |
| |