OSDN Git Service

nvme-pci: flush initial scan_work for async probe
authorKeith Busch <kbusch@kernel.org>
Tue, 24 Jan 2023 17:17:38 +0000 (09:17 -0800)
committerChristoph Hellwig <hch@lst.de>
Tue, 24 Jan 2023 19:16:09 +0000 (20:16 +0100)
The nvme device may have a namespace with the root partition, so make
sure we've completed scanning before returning from the async probe.

Fixes: eac3ef262941 ("nvme-pci: split the initial probe from the rest path")
Reported-by: Klaus Jensen <its@irrelevant.dk>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/pci.c

index 1ff8843..c734934 100644 (file)
@@ -3102,6 +3102,7 @@ static int nvme_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 
        nvme_start_ctrl(&dev->ctrl);
        nvme_put_ctrl(&dev->ctrl);
+       flush_work(&dev->ctrl.scan_work);
        return 0;
 
 out_disable: