From b31fb86815153be3bc94e8ffb9dbf6e9d7694b2d Mon Sep 17 00:00:00 2001 From: Kulikov Vasiliy Date: Sat, 10 Jul 2010 00:03:18 +0000 Subject: 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 --- drivers/net/tc35815.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3-70-g09d2