Message ID | 1412440801-15381-1-git-send-email-festevam@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
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. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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