aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/davinci_emac.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-06-04 13:38:31 -0700
committerDavid S. Miller <davem@davemloft.net>2011-06-04 13:38:31 -0700
commite990b37b906b6137d353ef2a918e15e5763d70ec (patch)
treee802458ee43d4b0a2b6d39eb25929858ceb7fd61 /drivers/net/davinci_emac.c
parent34624d6631b6b3a1df16407a847286bb6233a96b (diff)
parent23c79d31a3dd2602ee1a5ff31303b2d7a2d3c159 (diff)
downloadkernel_replicant_linux-e990b37b906b6137d353ef2a918e15e5763d70ec.tar.gz
kernel_replicant_linux-e990b37b906b6137d353ef2a918e15e5763d70ec.tar.bz2
kernel_replicant_linux-e990b37b906b6137d353ef2a918e15e5763d70ec.zip
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'drivers/net/davinci_emac.c')
-rw-r--r--drivers/net/davinci_emac.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
index 29a4f06fbfcf..dcc4a170b0f3 100644
--- a/drivers/net/davinci_emac.c
+++ b/drivers/net/davinci_emac.c
@@ -1781,8 +1781,8 @@ static int __devinit davinci_emac_probe(struct platform_device *pdev)
ndev = alloc_etherdev(sizeof(struct emac_priv));
if (!ndev) {
dev_err(&pdev->dev, "error allocating net_device\n");
- clk_put(emac_clk);
- return -ENOMEM;
+ rc = -ENOMEM;
+ goto free_clk;
}
platform_set_drvdata(pdev, ndev);
@@ -1796,7 +1796,8 @@ static int __devinit davinci_emac_probe(struct platform_device *pdev)
pdata = pdev->dev.platform_data;
if (!pdata) {
dev_err(&pdev->dev, "no platform data\n");
- return -ENODEV;
+ rc = -ENODEV;
+ goto probe_quit;
}
/* MAC addr and PHY mask , RMII enable info from platform_data */
@@ -1929,8 +1930,9 @@ no_dma:
iounmap(priv->remap_addr);
probe_quit:
- clk_put(emac_clk);
free_netdev(ndev);
+free_clk:
+ clk_put(emac_clk);
return rc;
}