diff options
author | Denis Kirjanov <kirjanov@gmail.com> | 2010-05-17 21:34:46 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-05-24 02:18:32 -0400 |
commit | 7f267de41fde594500cbbccb1b29acb4475f2da2 (patch) | |
tree | 45adb66c16b4b5a6a91ff281ce824027bde3ffe6 /drivers/net/bfin_mac.c | |
parent | ee02a4ef40f2e049c80f9cc04e21a9b48288b6ff (diff) |
bfin_mac: fix memleak in mii_bus{probe|remove}
Fix memory leak with miibus->irq
Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bfin_mac.c')
-rw-r--r-- | drivers/net/bfin_mac.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index 39a54bad397f..368f33313fb6 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c | |||
@@ -1626,6 +1626,7 @@ static int __devinit bfin_mii_bus_probe(struct platform_device *pdev) | |||
1626 | return 0; | 1626 | return 0; |
1627 | 1627 | ||
1628 | out_err_mdiobus_register: | 1628 | out_err_mdiobus_register: |
1629 | kfree(miibus->irq); | ||
1629 | mdiobus_free(miibus); | 1630 | mdiobus_free(miibus); |
1630 | out_err_alloc: | 1631 | out_err_alloc: |
1631 | peripheral_free_list(pin_req); | 1632 | peripheral_free_list(pin_req); |
@@ -1638,6 +1639,7 @@ static int __devexit bfin_mii_bus_remove(struct platform_device *pdev) | |||
1638 | struct mii_bus *miibus = platform_get_drvdata(pdev); | 1639 | struct mii_bus *miibus = platform_get_drvdata(pdev); |
1639 | platform_set_drvdata(pdev, NULL); | 1640 | platform_set_drvdata(pdev, NULL); |
1640 | mdiobus_unregister(miibus); | 1641 | mdiobus_unregister(miibus); |
1642 | kfree(miibus->irq); | ||
1641 | mdiobus_free(miibus); | 1643 | mdiobus_free(miibus); |
1642 | peripheral_free_list(pin_req); | 1644 | peripheral_free_list(pin_req); |
1643 | return 0; | 1645 | return 0; |