diff options
author | Fugang Duan <B38611@freescale.com> | 2015-06-23 14:56:53 +0800 |
---|---|---|
committer | Fugang Duan <B38611@freescale.com> | 2015-06-23 14:56:53 +0800 |
commit | e11c025aacd4debc591074324fa879a9c2b313f0 (patch) | |
tree | a0142aeedf402c385b17c97d1e95b9535d8a2d0b | |
parent | 5f76ac196fab896544983ef21dde12252fade6f0 (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.c | 4 |
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); |