OSDN Git Service

net: cpmac: fix error handling of cpmac_probe()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Tue, 19 Jul 2016 12:37:53 +0000 (12:37 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Jul 2016 21:46:01 +0000 (14:46 -0700)
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>
drivers/net/ethernet/ti/cpmac.c

index 29f381b..d300d53 100644 (file)
@@ -1119,7 +1119,7 @@ static int cpmac_probe(struct platform_device *pdev)
        mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
        if (!mem) {
                rc = -ENODEV;
-               goto out;
+               goto fail;
        }
 
        dev->irq = platform_get_irq_byname(pdev, "irq");
@@ -1147,7 +1147,7 @@ static int cpmac_probe(struct platform_device *pdev)
                        dev_err(&pdev->dev, "Could not attach to PHY\n");
 
                rc = PTR_ERR(phydev);
-               goto out;
+               goto fail;
        }
 
        rc = register_netdev(dev);
@@ -1166,7 +1166,6 @@ static int cpmac_probe(struct platform_device *pdev)
 
 fail:
        free_netdev(dev);
-out:
        return rc;
 }