netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] fec: Fix fec_enet_alloc_buffers() error path
@ 2014-10-04 16:40 Fabio Estevam
  2014-10-06  4:54 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Fabio Estevam @ 2014-10-04 16:40 UTC (permalink / raw)
  To: davem; +Cc: rmk+kernel, Frank.Li, netdev, Fabio Estevam

From: Fabio Estevam <fabio.estevam@freescale.com>

When fec_enet_alloc_buffers() fails we should better undo the previous actions,
which consists of: disabling the FEC clocks and putting the FEC pins into
inactive state.

The error path for fec_enet_mii_probe() is kept unchanged.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 drivers/net/ethernet/freescale/fec_main.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 1f07db8..620feaf 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -2746,16 +2746,12 @@ fec_enet_open(struct net_device *ndev)
 
 	ret = fec_enet_alloc_buffers(ndev);
 	if (ret)
-		return ret;
+		goto err_enet_alloc;
 
 	/* Probe and connect to PHY when open the interface */
 	ret = fec_enet_mii_probe(ndev);
-	if (ret) {
-		fec_enet_free_buffers(ndev);
-		fec_enet_clk_enable(ndev, false);
-		pinctrl_pm_select_sleep_state(&fep->pdev->dev);
-		return ret;
-	}
+	if (ret)
+		goto err_enet_mii_probe;
 
 	fec_restart(ndev);
 	napi_enable(&fep->napi);
@@ -2763,6 +2759,13 @@ fec_enet_open(struct net_device *ndev)
 	netif_tx_start_all_queues(ndev);
 
 	return 0;
+
+err_enet_mii_probe:
+	fec_enet_free_buffers(ndev);
+err_enet_alloc:
+	fec_enet_clk_enable(ndev, false);
+	pinctrl_pm_select_sleep_state(&fep->pdev->dev);
+	return ret;
 }
 
 static int
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH net-next] fec: Fix fec_enet_alloc_buffers() error path
  2014-10-04 16:40 [PATCH net-next] fec: Fix fec_enet_alloc_buffers() error path Fabio Estevam
@ 2014-10-06  4:54 ` David Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2014-10-06  4:54 UTC (permalink / raw)
  To: festevam; +Cc: rmk+kernel, Frank.Li, netdev, fabio.estevam

From: Fabio Estevam <festevam@gmail.com>
Date: Sat,  4 Oct 2014 13:40:01 -0300

> From: Fabio Estevam <fabio.estevam@freescale.com>
> 
> When fec_enet_alloc_buffers() fails we should better undo the previous actions,
> which consists of: disabling the FEC clocks and putting the FEC pins into
> inactive state.
> 
> The error path for fec_enet_mii_probe() is kept unchanged.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>

Applied, thanks Fabio.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-10-06  4:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-04 16:40 [PATCH net-next] fec: Fix fec_enet_alloc_buffers() error path Fabio Estevam
2014-10-06  4:54 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).