From cb97e4cbd3941bdb1c8bab3b382f4301c285fe8d Mon Sep 17 00:00:00 2001 From: Julia Lawall Date: Wed, 1 Jun 2011 07:10:10 +0000 Subject: [PATCH] --- yaml --- r: 253056 b: refs/heads/master c: b722dbf176b67c75fe0f5a6b1b31f5ea8aa6117d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/davinci_emac.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index db7854173a1b..6f552a9bb1b5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a3bcc23e890a6d49d6763d9eb073d711de2e0469 +refs/heads/master: b722dbf176b67c75fe0f5a6b1b31f5ea8aa6117d diff --git a/trunk/drivers/net/davinci_emac.c b/trunk/drivers/net/davinci_emac.c index 29a4f06fbfcf..dcc4a170b0f3 100644 --- a/trunk/drivers/net/davinci_emac.c +++ b/trunk/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 @@ static int __devinit davinci_emac_probe(struct platform_device *pdev) iounmap(priv->remap_addr); probe_quit: - clk_put(emac_clk); free_netdev(ndev); +free_clk: + clk_put(emac_clk); return rc; }