diff options
author | Wei Yongjun <yongjun_wei@trendmicro.com.cn> | 2016-07-19 08:37:53 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-07-20 17:46:01 -0400 |
commit | 09714275b1ce7877f318bbd6321da1def95697d7 (patch) | |
tree | 4275ce363952e2c26bdbf245e9de396cc97252ed /drivers/net/ethernet/ti | |
parent | 44fafdaa757cf251aade6c071f772ddb4e8a9885 (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.c | 5 |
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 | ||
1167 | fail: | 1167 | fail: |
1168 | free_netdev(dev); | 1168 | free_netdev(dev); |
1169 | out: | ||
1170 | return rc; | 1169 | return rc; |
1171 | } | 1170 | } |
1172 | 1171 | ||