diff --git a/[refs] b/[refs] index f5b4eaad8d84..8542de452127 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 49da97dcb6b00a6869bbc3fa6ec7fdfd8a6e41a3 +refs/heads/master: bcc67771ed8ee31cc1f2b1e033ae822b40c72ff9 diff --git a/trunk/drivers/net/fec.c b/trunk/drivers/net/fec.c index 47a3c7b499e9..8a1c51f86414 100644 --- a/trunk/drivers/net/fec.c +++ b/trunk/drivers/net/fec.c @@ -1372,8 +1372,10 @@ fec_suspend(struct device *dev) if (ndev) { fep = netdev_priv(ndev); - if (netif_running(ndev)) - fec_enet_close(ndev); + if (netif_running(ndev)) { + fec_stop(ndev); + netif_device_detach(ndev); + } clk_disable(fep->clk); } return 0; @@ -1388,8 +1390,10 @@ fec_resume(struct device *dev) if (ndev) { fep = netdev_priv(ndev); clk_enable(fep->clk); - if (netif_running(ndev)) - fec_enet_open(ndev); + if (netif_running(ndev)) { + fec_restart(ndev, fep->full_duplex); + netif_device_attach(ndev); + } } return 0; }