From patchwork Tue Nov 6 06:04:08 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: powerpc/gianfar: fix ethernet cannot work after restoring from hibernation Date: Mon, 05 Nov 2012 20:04:08 -0000 From: Dongsheng.wang@freescale.com X-Patchwork-Id: 197412 Message-Id: <1352181848-24102-1-git-send-email-dongsheng.wang@freescale.com> To: Cc: , Wang Dongsheng we should make sure a ethernet has been taken down when system into hibernation status. when the system restoring form hibernation, the ethernet cannot be taken up. eg: ~# ifconfig eth0 down ~# echo disk > /sys/power/state hibernation restore ~# ifconfig eth0 up SIOCSIFFLAGS: No such device Signed-off-by: Wang Dongsheng --- drivers/net/ethernet/freescale/gianfar.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c index 4605f72..487b944 100644 --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c @@ -1345,8 +1345,11 @@ static int gfar_restore(struct device *dev) struct gfar_private *priv = dev_get_drvdata(dev); struct net_device *ndev = priv->ndev; - if (!netif_running(ndev)) + if (!netif_running(ndev)) { + netif_device_attach(ndev); + return 0; + } gfar_init_bds(ndev); init_registers(ndev);