aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/ti
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2016-07-19 08:37:53 -0400
committerDavid S. Miller <davem@davemloft.net>2016-07-20 17:46:01 -0400
commit09714275b1ce7877f318bbd6321da1def95697d7 (patch)
tree4275ce363952e2c26bdbf245e9de396cc97252ed /drivers/net/ethernet/ti
parent44fafdaa757cf251aade6c071f772ddb4e8a9885 (diff)
net: cpmac: fix error handling of cpmac_probe()
Add the missing free_netdev() before return from function cpmac_probe() in the error handling case. This patch revert commit 0465be8f4f1d ("net: cpmac: fix in releasing resources"), which changed to only free_netdev while register_netdev failed. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/ti')
-rw-r--r--drivers/net/ethernet/ti/cpmac.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/ethernet/ti/cpmac.c b/drivers/net/ethernet/ti/cpmac.c
index 29f381b16a44..d300d536d06f 100644
--- a/drivers/net/ethernet/ti/cpmac.c
+++ b/drivers/net/ethernet/ti/cpmac.c
@@ -1119,7 +1119,7 @@ static int cpmac_probe(struct platform_device *pdev)
1119 mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs"); 1119 mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
1120 if (!mem) { 1120 if (!mem) {
1121 rc = -ENODEV; 1121 rc = -ENODEV;
1122 goto out; 1122 goto fail;
1123 } 1123 }
1124 1124
1125 dev->irq = platform_get_irq_byname(pdev, "irq"); 1125 dev->irq = platform_get_irq_byname(pdev, "irq");
@@ -1147,7 +1147,7 @@ static int cpmac_probe(struct platform_device *pdev)
1147 dev_err(&pdev->dev, "Could not attach to PHY\n"); 1147 dev_err(&pdev->dev, "Could not attach to PHY\n");
1148 1148
1149 rc = PTR_ERR(phydev); 1149 rc = PTR_ERR(phydev);
1150 goto out; 1150 goto fail;
1151 } 1151 }
1152 1152
1153 rc = register_netdev(dev); 1153 rc = register_netdev(dev);
@@ -1166,7 +1166,6 @@ static int cpmac_probe(struct platform_device *pdev)
1166 1166
1167fail: 1167fail:
1168 free_netdev(dev); 1168 free_netdev(dev);
1169out:
1170 return rc; 1169 return rc;
1171} 1170}
1172 1171