mptfusion: release resources in error return path
Subsystems (2)
PATCH 1/1 mptfusion: release resources in error return path
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 <[email protected]>
---
drivers/message/fusion/mptbase.c +3 -0
@@ -1632,6 +1632,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 {
@@ -1645,6 +1646,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; } }
@@ -1675,6 +1677,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;
Please consider this patch as an ACKed.
It has valid error handling in mpt_mapreousrces().
Thanks, Kashyap
Quoted 45 lines
-----Original Message-----
From: Tomas Henzl [mailto:[email protected]]
Sent: Monday, July 26, 2010 8:11 PM
To: '[email protected]'
Cc: James Bottomley; Desai, Kashyap; Moore, Eric; Prakash, Sathya
Subject: [PATCH] mptfusion: release resources in error return pathWe should release the resources in error return code path. The requested pci bars should be released under an error condition, when
mpt_mapresourcesfails.Signed-off-by Tomas Henzl <[email protected]>---
drivers/message/fusion/mptbase.c +1
-0@@ -1632,6 +1632,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; }drivers/message/fusion/mptbase.c +1
-0}else {@@ -1645,6 +1646,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; }drivers/message/fusion/mptbase.c +1
-0}@@ -1675,6 +1677,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;