aboutsummaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2010-06-20 22:07:48 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-02 10:18:50 -0700
commit1a9e5fa66baa4dfd6bc366fbe84b172c6da9321b (patch)
tree3a4a3cbc69b20d64384c51f9f94d59034073f171 /drivers/net
parentdd3eae69495d9ad7a4424f38ec632e811f10a292 (diff)
cpmac: do not leak struct net_device on phy_connect errors
commit ed770f01360b392564650bf1553ce723fa46afec upstream. If the call to phy_connect fails, we will return directly instead of freeing the previously allocated struct net_device. Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/cpmac.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c
index ec6b0af3d46..5cbdd37e0df 100644
--- a/drivers/net/cpmac.c
+++ b/drivers/net/cpmac.c
@@ -1174,7 +1174,8 @@ static int __devinit cpmac_probe(struct platform_device *pdev)
if (netif_msg_drv(priv))
printk(KERN_ERR "%s: Could not attach to PHY\n",
dev->name);
- return PTR_ERR(priv->phy);
+ rc = PTR_ERR(priv->phy);
+ goto fail;
}
if ((rc = register_netdev(dev))) {