From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754737AbbFLL2c (ORCPT ); Fri, 12 Jun 2015 07:28:32 -0400 Received: from cantor2.suse.de ([195.135.220.15]:56494 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752293AbbFLL23 (ORCPT ); Fri, 12 Jun 2015 07:28:29 -0400 Date: Fri, 12 Jun 2015 13:28:26 +0200 From: Johannes Thumshirn To: Sreekanth Reddy Cc: jejb@kernel.org, hch@infradead.org, martin.petersen@oracle.com, linux-scsi@vger.kernel.org, JBottomley@Parallels.com, Sathya.Prakash@avagotech.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH 04/20] [SCSI] mpt3sas: Remove redundancy code while freeing the controller resources. Message-ID: <20150612112826.GC2812@c203.arch.suse.de> References: <1434102153-38581-1-git-send-email-Sreekanth.Reddy@avagotech.com> <1434102153-38581-5-git-send-email-Sreekanth.Reddy@avagotech.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1434102153-38581-5-git-send-email-Sreekanth.Reddy@avagotech.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jun 12, 2015 at 03:12:16PM +0530, Sreekanth Reddy wrote: > Removed the redundancy code while freeing the controller resources. > > Signed-off-by: Sreekanth Reddy > --- > drivers/scsi/mpt3sas/mpt3sas_base.c | 57 +++++++++++++++++++++---------------- > 1 file changed, 32 insertions(+), 25 deletions(-) > > diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c > index ce57320..32b86bf 100644 > --- a/drivers/scsi/mpt3sas/mpt3sas_base.c > +++ b/drivers/scsi/mpt3sas/mpt3sas_base.c > @@ -1798,6 +1798,36 @@ _base_enable_msix(struct MPT3SAS_ADAPTER *ioc) > } > > /** > + * mpt3sas_base_unmap_resources - free controller resources > + * @ioc: per adapter object > + */ > +void > +mpt3sas_base_unmap_resources(struct MPT3SAS_ADAPTER *ioc) > +{ > + struct pci_dev *pdev = ioc->pdev; > + > + dexitprintk(ioc, printk(MPT3SAS_FMT "%s\n", > + ioc->name, __func__)); > + > + _base_free_irq(ioc); > + _base_disable_msix(ioc); > + > + if (ioc->msix96_vector) > + kfree(ioc->replyPostRegisterIndex); kfree() already checks for zero or a NULL pointer. > + > + if (ioc->chip_phys) { > + iounmap(ioc->chip); > + ioc->chip_phys = 0; > + } > + > + if (pci_is_enabled(pdev)) { > + pci_release_selected_regions(ioc->pdev, ioc->bars); > + pci_disable_pcie_error_reporting(pdev); > + pci_disable_device(pdev); > + } > +} > + > +/** > * mpt3sas_base_map_resources - map in controller resources (io/irq/memap) > * @ioc: per adapter object > * > @@ -1925,14 +1955,7 @@ mpt3sas_base_map_resources(struct MPT3SAS_ADAPTER *ioc) > return 0; > > out_fail: > - if (ioc->chip_phys) > - iounmap(ioc->chip); > - ioc->chip_phys = 0; > - pci_release_selected_regions(ioc->pdev, ioc->bars); > - pci_disable_pcie_error_reporting(pdev); > - pci_disable_device(pdev); > - if (ioc->msix96_vector) > - kfree(ioc->replyPostRegisterIndex); > + mpt3sas_base_unmap_resources(ioc); > return r; > } > > @@ -4667,8 +4690,6 @@ _base_make_ioc_operational(struct MPT3SAS_ADAPTER *ioc, int sleep_flag) > void > mpt3sas_base_free_resources(struct MPT3SAS_ADAPTER *ioc) > { > - struct pci_dev *pdev = ioc->pdev; > - > dexitprintk(ioc, pr_info(MPT3SAS_FMT "%s\n", ioc->name, > __func__)); > > @@ -4679,21 +4700,7 @@ mpt3sas_base_free_resources(struct MPT3SAS_ADAPTER *ioc) > ioc->shost_recovery = 0; > } > > - _base_free_irq(ioc); > - _base_disable_msix(ioc); > - > - if (ioc->msix96_vector) > - kfree(ioc->replyPostRegisterIndex); > - > - if (ioc->chip_phys && ioc->chip) > - iounmap(ioc->chip); > - ioc->chip_phys = 0; > - > - if (pci_is_enabled(pdev)) { > - pci_release_selected_regions(ioc->pdev, ioc->bars); > - pci_disable_pcie_error_reporting(pdev); > - pci_disable_device(pdev); > - } > + mpt3sas_base_unmap_resources(ioc); > return; > } > > -- > 2.0.2 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Johannes Thumshirn Storage jthumshirn@suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)