aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorFugang Duan <b38611@freescale.com>2014-06-20 02:54:07 -0400
committerFugang Duan <b38611@freescale.com>2014-06-20 04:44:25 -0400
commita1455e12a3e492d8d3898799e86285cc1baaa049 (patch)
tree11bb8268899bc5009925b0c0646aaee46be20e04 /drivers/net
parentaf51180cd6df6117cea5b87602373fa29a7ca557 (diff)
ENGR00319480 net: fec: support DSM with M/F mix off
To support DSM with M/F mix off, driver need to call phy_stop before suspend, call phy_start after resume. Signed-off-by: Fugang Duan <B38611@freescale.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/freescale/fec_main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 4a5a06eb3e03..1c4f4d50d574 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -3305,6 +3305,7 @@ fec_suspend(struct device *dev)
3305 if (!(fep->wol_flag & FEC_WOL_FLAG_ENABLE)) 3305 if (!(fep->wol_flag & FEC_WOL_FLAG_ENABLE))
3306 fec_enet_clk_enable(ndev, false); 3306 fec_enet_clk_enable(ndev, false);
3307 pinctrl_pm_select_sleep_state(&fep->pdev->dev); 3307 pinctrl_pm_select_sleep_state(&fep->pdev->dev);
3308 phy_stop(fep->phy_dev);
3308 } 3309 }
3309 3310
3310 if (fep->reg_phy) 3311 if (fep->reg_phy)
@@ -3347,8 +3348,9 @@ fec_resume(struct device *dev)
3347 } else { 3348 } else {
3348 fec_enet_clk_enable(ndev, true); 3349 fec_enet_clk_enable(ndev, true);
3349 } 3350 }
3350 if (!fep->clk_enet_out && !fep->reg_phy) 3351
3351 fec_restart(ndev, fep->full_duplex); 3352 fec_restart(ndev, fep->full_duplex);
3353 phy_start(fep->phy_dev);
3352 netif_device_attach(ndev); 3354 netif_device_attach(ndev);
3353 } 3355 }
3354 3356