[SCSI] mptfusion: release resources in error return path
authorTomas Henzl <thenzl@redhat.com>
Mon, 26 Jul 2010 14:41:13 +0000 (16:41 +0200)
committerJames Bottomley <James.Bottomley@suse.de>
Wed, 28 Jul 2010 14:07:48 +0000 (09:07 -0500)
We should release the resources in error return code path.
The requested pci bars should be released under an error condition,
when mpt_mapresources fails.

Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Acked-by: "Desai, Kashyap" <Kashyap.Desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/message/fusion/mptbase.c

index 8280039..2a52559 100644 (file)
@@ -1635,6 +1635,7 @@ mpt_mapresources(MPT_ADAPTER *ioc)
                } else {
                        printk(MYIOC_s_WARN_FMT "no suitable DMA mask for %s\n",
                            ioc->name, pci_name(pdev));
+                       pci_release_selected_regions(pdev, ioc->bars);
                        return r;
                }
        } else {
@@ -1648,6 +1649,7 @@ mpt_mapresources(MPT_ADAPTER *ioc)
                } else {
                        printk(MYIOC_s_WARN_FMT "no suitable DMA mask for %s\n",
                            ioc->name, pci_name(pdev));
+                       pci_release_selected_regions(pdev, ioc->bars);
                        return r;
                }
        }
@@ -1678,6 +1680,7 @@ mpt_mapresources(MPT_ADAPTER *ioc)
        if (mem == NULL) {
                printk(MYIOC_s_ERR_FMT ": ERROR - Unable to map adapter"
                        " memory!\n", ioc->name);
+               pci_release_selected_regions(pdev, ioc->bars);
                return -EINVAL;
        }
        ioc->memmap = mem;