From: Jesper Juhl This patch gets rid of redundant NULL checks prior to calling kfree() in drivers/message/* There are also a few small whitespace changes in there. Signed-off-by: Jesper Juhl Cc: "Moore, Eric Dean" Cc: James Bottomley Signed-off-by: Andrew Morton --- drivers/message/fusion/mptbase.c | 25 ++++++++----------------- drivers/message/fusion/mptctl.c | 22 +++++++++++----------- drivers/message/fusion/mptlan.c | 4 ++-- drivers/message/fusion/mptscsih.c | 15 ++++++--------- drivers/message/i2o/device.c | 3 +-- drivers/message/i2o/pci.c | 3 +-- 6 files changed, 29 insertions(+), 43 deletions(-) diff -puN drivers/message/fusion/mptbase.c~fusion-kfree-cleanup drivers/message/fusion/mptbase.c --- 25/drivers/message/fusion/mptbase.c~fusion-kfree-cleanup 2005-05-06 18:49:07.000000000 -0700 +++ 25-akpm/drivers/message/fusion/mptbase.c 2005-05-06 18:49:07.000000000 -0700 @@ -1804,15 +1804,10 @@ mpt_adapter_disable(MPT_ADAPTER *ioc) ioc->alloc_total -= sz; } - if (ioc->spi_data.nvram != NULL) { - kfree(ioc->spi_data.nvram); - ioc->spi_data.nvram = NULL; - } - - if (ioc->spi_data.pIocPg3 != NULL) { - kfree(ioc->spi_data.pIocPg3); - ioc->spi_data.pIocPg3 = NULL; - } + kfree(ioc->spi_data.nvram); + kfree(ioc->spi_data.pIocPg3); + ioc->spi_data.nvram = NULL; + ioc->spi_data.pIocPg3 = NULL; if (ioc->spi_data.pIocPg4 != NULL) { sz = ioc->spi_data.IocPg4Sz; @@ -1829,10 +1824,8 @@ mpt_adapter_disable(MPT_ADAPTER *ioc) ioc->ReqToChain = NULL; } - if (ioc->ChainToChain != NULL) { - kfree(ioc->ChainToChain); - ioc->ChainToChain = NULL; - } + kfree(ioc->ChainToChain); + ioc->ChainToChain = NULL; } /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ @@ -4364,10 +4357,8 @@ mpt_read_ioc_pg_3(MPT_ADAPTER *ioc) /* Free the old page */ - if (ioc->spi_data.pIocPg3) { - kfree(ioc->spi_data.pIocPg3); - ioc->spi_data.pIocPg3 = NULL; - } + kfree(ioc->spi_data.pIocPg3); + ioc->spi_data.pIocPg3 = NULL; /* There is at least one physical disk. * Read and save IOC Page 3 diff -puN drivers/message/fusion/mptctl.c~fusion-kfree-cleanup drivers/message/fusion/mptctl.c --- 25/drivers/message/fusion/mptctl.c~fusion-kfree-cleanup 2005-05-06 18:49:07.000000000 -0700 +++ 25-akpm/drivers/message/fusion/mptctl.c 2005-05-06 18:49:07.000000000 -0700 @@ -99,14 +99,14 @@ struct buflist { * arg contents specific to function. */ static int mptctl_fw_download(unsigned long arg); -static int mptctl_getiocinfo (unsigned long arg, unsigned int cmd); -static int mptctl_gettargetinfo (unsigned long arg); -static int mptctl_readtest (unsigned long arg); -static int mptctl_mpt_command (unsigned long arg); -static int mptctl_eventquery (unsigned long arg); -static int mptctl_eventenable (unsigned long arg); -static int mptctl_eventreport (unsigned long arg); -static int mptctl_replace_fw (unsigned long arg); +static int mptctl_getiocinfo(unsigned long arg, unsigned int cmd); +static int mptctl_gettargetinfo(unsigned long arg); +static int mptctl_readtest(unsigned long arg); +static int mptctl_mpt_command(unsigned long arg); +static int mptctl_eventquery(unsigned long arg); +static int mptctl_eventenable(unsigned long arg); +static int mptctl_eventreport(unsigned long arg); +static int mptctl_replace_fw(unsigned long arg); static int mptctl_do_reset(unsigned long arg); static int mptctl_hp_hostinfo(unsigned long arg, unsigned int cmd); @@ -121,11 +121,11 @@ static long compat_mpctl_ioctl(struct fi /* * Private function calls. */ -static int mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr); +static int mptctl_do_mpt_command(struct mpt_ioctl_command karg, void __user *mfPtr); static int mptctl_do_fw_download(int ioc, char __user *ufwbuf, size_t fwlen); -static MptSge_t *kbuf_alloc_2_sgl( int bytes, u32 dir, int sge_offset, int *frags, +static MptSge_t *kbuf_alloc_2_sgl(int bytes, u32 dir, int sge_offset, int *frags, struct buflist **blp, dma_addr_t *sglbuf_dma, MPT_ADAPTER *ioc); -static void kfree_sgl( MptSge_t *sgl, dma_addr_t sgl_dma, +static void kfree_sgl(MptSge_t *sgl, dma_addr_t sgl_dma, struct buflist *buflist, MPT_ADAPTER *ioc); static void mptctl_timeout_expired (MPT_IOCTL *ioctl); static int mptctl_bus_reset(MPT_IOCTL *ioctl); diff -puN drivers/message/fusion/mptlan.c~fusion-kfree-cleanup drivers/message/fusion/mptlan.c --- 25/drivers/message/fusion/mptlan.c~fusion-kfree-cleanup 2005-05-06 18:49:07.000000000 -0700 +++ 25-akpm/drivers/message/fusion/mptlan.c 2005-05-06 18:49:07.000000000 -0700 @@ -538,8 +538,8 @@ mpt_lan_close(struct net_device *dev) } } - kfree (priv->RcvCtl); - kfree (priv->mpt_rxfidx); + kfree(priv->RcvCtl); + kfree(priv->mpt_rxfidx); for (i = 0; i < priv->tx_max_out; i++) { if (priv->SendCtl[i].skb != NULL) { diff -puN drivers/message/fusion/mptscsih.c~fusion-kfree-cleanup drivers/message/fusion/mptscsih.c --- 25/drivers/message/fusion/mptscsih.c~fusion-kfree-cleanup 2005-05-06 18:49:07.000000000 -0700 +++ 25-akpm/drivers/message/fusion/mptscsih.c 2005-05-06 18:49:07.000000000 -0700 @@ -998,20 +998,17 @@ mptscsih_remove(struct pci_dev *pdev) hd->ScsiLookup = NULL; } - if (hd->Targets != NULL) { - /* - * Free pointer array. - */ - kfree(hd->Targets); - hd->Targets = NULL; - } + /* + * Free pointer array. + */ + kfree(hd->Targets); + hd->Targets = NULL; dprintk((MYIOC_s_INFO_FMT "Free'd ScsiLookup (%d) memory\n", hd->ioc->name, sz1)); - if (hd->info_kbuf != NULL) - kfree(hd->info_kbuf); + kfree(hd->info_kbuf); /* NULL the Scsi_Host pointer */ diff -puN drivers/message/i2o/device.c~fusion-kfree-cleanup drivers/message/i2o/device.c --- 25/drivers/message/i2o/device.c~fusion-kfree-cleanup 2005-05-06 18:49:07.000000000 -0700 +++ 25-akpm/drivers/message/i2o/device.c 2005-05-06 18:49:07.000000000 -0700 @@ -282,8 +282,7 @@ int i2o_device_parse_lct(struct i2o_cont down(&c->lct_lock); - if (c->lct) - kfree(c->lct); + kfree(c->lct); lct = c->dlct.virt; diff -puN drivers/message/i2o/pci.c~fusion-kfree-cleanup drivers/message/i2o/pci.c --- 25/drivers/message/i2o/pci.c~fusion-kfree-cleanup 2005-05-06 18:49:07.000000000 -0700 +++ 25-akpm/drivers/message/i2o/pci.c 2005-05-06 18:49:07.000000000 -0700 @@ -91,8 +91,7 @@ static void i2o_pci_free(struct i2o_cont i2o_dma_free(dev, &c->out_queue); i2o_dma_free(dev, &c->status_block); - if (c->lct) - kfree(c->lct); + kfree(c->lct); i2o_dma_free(dev, &c->dlct); i2o_dma_free(dev, &c->hrt); i2o_dma_free(dev, &c->status); _