Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit edb50a54 authored by Johannes Thumshirn's avatar Johannes Thumshirn Committed by Jens Axboe
Browse files

NVMe: Only release requested regions



The NVMe driver only requests the PCIe device's memory regions but releases
all possible regions (including eventual I/O regions). This leads to a stale
warning entry in dmesg about freeing non existent resources.

Signed-off-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 1decabc1
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -1679,9 +1679,14 @@ static int nvme_pci_enable(struct nvme_dev *dev)

static void nvme_dev_unmap(struct nvme_dev *dev)
{
	struct pci_dev *pdev = to_pci_dev(dev->dev);
	int bars;

	if (dev->bar)
		iounmap(dev->bar);
	pci_release_regions(to_pci_dev(dev->dev));

	bars = pci_select_bars(pdev, IORESOURCE_MEM);
	pci_release_selected_regions(pdev, bars);
}

static void nvme_pci_disable(struct nvme_dev *dev)
@@ -1924,7 +1929,7 @@ static int nvme_dev_map(struct nvme_dev *dev)

       return 0;
  release:
       pci_release_regions(pdev);
       pci_release_selected_regions(pdev, bars);
       return -ENODEV;
}