OSDN Git Service

nvme-pci: call nvme_pci_configure_admin_queue from nvme_pci_enable
authorChristoph Hellwig <hch@lst.de>
Thu, 27 Oct 2022 10:28:16 +0000 (03:28 -0700)
committerChristoph Hellwig <hch@lst.de>
Tue, 15 Nov 2022 09:56:17 +0000 (10:56 +0100)
nvme_pci_configure_admin_queue is called right after nvme_pci_enable, and
it's work is undone by nvme_dev_disable.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Tested-by Gerd Bayer <gbayer@linxu.ibm.com>

drivers/nvme/host/pci.c

index 9dcb35f..c2e3a87 100644 (file)
@@ -2639,7 +2639,8 @@ static int nvme_pci_enable(struct nvme_dev *dev)
 
        pci_enable_pcie_error_reporting(pdev);
        pci_save_state(pdev);
-       return 0;
+
+       return nvme_pci_configure_admin_queue(dev);
 
  disable:
        pci_disable_device(pdev);
@@ -2829,10 +2830,6 @@ static void nvme_reset_work(struct work_struct *work)
        if (result)
                goto out_unlock;
 
-       result = nvme_pci_configure_admin_queue(dev);
-       if (result)
-               goto out_unlock;
-
        if (!dev->ctrl.admin_q) {
                result = nvme_pci_alloc_admin_tag_set(dev);
                if (result)