summaryrefslogtreecommitdiff
path: root/drivers/net/cpmac.c
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2010-06-21 02:07:48 +0400
committerDavid S. Miller <davem@davemloft.net>2010-06-26 08:16:58 +0400
commited770f01360b392564650bf1553ce723fa46afec (patch)
treee8d527f70f2746f823b907a4f8406963cb0f36ff /drivers/net/cpmac.c
parent9735b7ef005aaef5e5905cddba893f8725cd8867 (diff)
downloadlinux-ed770f01360b392564650bf1553ce723fa46afec.tar.xz
cpmac: do not leak struct net_device on phy_connect errors
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> CC: stable@kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cpmac.c')
-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 3c58db595285..23786ee34bed 100644
--- a/drivers/net/cpmac.c
+++ b/drivers/net/cpmac.c
@@ -1181,7 +1181,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))) {