From: Kulikov Vasiliy Date: Sat, 10 Jul 2010 00:03:18 +0000 (+0000) Subject: tc35815: fix iomap leak X-Git-Tag: v2.6.36-rc1~571^2~260 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=b31fb86815153be3bc94e8ffb9dbf6e9d7694b2d;p=~shefty%2Frdma-dev.git tc35815: fix iomap leak If tc35815_init_one() fails we must unmap mapped regions. Signed-off-by: Kulikov Vasiliy Signed-off-by: David S. Miller --- diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c index be08b75dbc1..99afa5c47be 100644 --- a/drivers/net/tc35815.c +++ b/drivers/net/tc35815.c @@ -854,7 +854,7 @@ static int __devinit tc35815_init_one(struct pci_dev *pdev, rc = register_netdev(dev); if (rc) - goto err_out; + goto err_out_iounmap; memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); printk(KERN_INFO "%s: %s at 0x%lx, %pM, IRQ %d\n", @@ -872,6 +872,8 @@ static int __devinit tc35815_init_one(struct pci_dev *pdev, err_out_unregister: unregister_netdev(dev); +err_out_iounmap: + pcim_iounmap_regions(pdev, 1 << 1); err_out: free_netdev(dev); return rc;