The driver forgets to call pci_release_regions() in probe failure and remove. Add the missed calls to fix it. Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx> --- drivers/mtd/nand/raw/denali_pci.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/nand/raw/denali_pci.c b/drivers/mtd/nand/raw/denali_pci.c index d62aa5271753..ca170775b141 100644 --- a/drivers/mtd/nand/raw/denali_pci.c +++ b/drivers/mtd/nand/raw/denali_pci.c @@ -77,7 +77,8 @@ static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) denali->reg = ioremap_nocache(csr_base, csr_len); if (!denali->reg) { dev_err(&dev->dev, "Spectra: Unable to remap memory region\n"); - return -ENOMEM; + ret = -ENOMEM; + goto out_release_regions; } denali->host = ioremap_nocache(mem_base, mem_len); @@ -121,6 +122,8 @@ static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) iounmap(denali->host); out_unmap_reg: iounmap(denali->reg); +out_release_regions: + pci_release_regions(dev); return ret; } @@ -131,6 +134,7 @@ static void denali_pci_remove(struct pci_dev *dev) denali_remove(denali); iounmap(denali->reg); iounmap(denali->host); + pci_release_regions(dev); } static struct pci_driver denali_pci_driver = { -- 2.24.0 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/