summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFugang Duan <B38611@freescale.com>2015-06-23 14:56:53 +0800
committerFugang Duan <B38611@freescale.com>2015-06-23 14:56:53 +0800
commite11c025aacd4debc591074324fa879a9c2b313f0 (patch)
treea0142aeedf402c385b17c97d1e95b9535d8a2d0b
parent5f76ac196fab896544983ef21dde12252fade6f0 (diff)
MLK-11141 net: fec: init MAC prior to mii bus probe
Below case causes mii bus probe failed: ifconfig eth0 down -> suspend/resume with Mega/fax mix off -> ifconfig eth0 up Mega/fast mix off, ENET MAC power will be off, all initialized MAC registers reset to default, so in the case, it must init MAC prior to mii bus probe. Signed-off-by: Fugang Duan <B38611@freescale.com>
-rw-r--r--drivers/net/ethernet/freescale/fec_main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index e947ebe6e9e9..8ac6275dc23e 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -2848,12 +2848,14 @@ fec_enet_open(struct net_device *ndev)
if (ret)
goto err_enet_alloc;
+ /* Init MAC firstly for suspend/resume with megafix off case */
+ fec_restart(ndev);
+
/* Probe and connect to PHY when open the interface */
ret = fec_enet_mii_probe(ndev);
if (ret)
goto err_enet_mii_probe;
- fec_restart(ndev);
napi_enable(&fep->napi);
phy_start(fep->phy_dev);
netif_tx_start_all_queues(ndev);