ionic: fix missing pci_release_regions() on error in ionic_probe()
authorYang Yingliang <yangyingliang@huawei.com>
Fri, 6 May 2022 03:40:40 +0000 (11:40 +0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 9 May 2022 22:49:12 +0000 (15:49 -0700)
If ionic_map_bars() fails, pci_release_regions() need be called.

Fixes: fbfb8031533c ("ionic: Add hardware init and device commands")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20220506034040.2614129-1-yangyingliang@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c

index 6ffc62c411655c0ba7a4e693db339ab36e9944b9..0a7a757494bc5f8448a03e4a82ad10aff462d0f5 100644 (file)
@@ -256,7 +256,7 @@ static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
        err = ionic_map_bars(ionic);
        if (err)
-               goto err_out_pci_disable_device;
+               goto err_out_pci_release_regions;
 
        /* Configure the device */
        err = ionic_setup(ionic);
@@ -360,6 +360,7 @@ err_out_teardown:
 
 err_out_unmap_bars:
        ionic_unmap_bars(ionic);
+err_out_pci_release_regions:
        pci_release_regions(pdev);
 err_out_pci_disable_device:
        pci_disable_device(pdev);