Patchwork powerpc/gianfar: fix ethernet cannot work after restoring from hibernation

login
register
mail settings
Submitter Dongsheng Wang
Date Nov. 6, 2012, 6:04 a.m.
Message ID <1352181848-24102-1-git-send-email-dongsheng.wang@freescale.com>
Download mbox | patch
Permalink /patch/197412/
State Superseded
Delegated to: David Miller
Headers show

Comments

Dongsheng Wang - Nov. 6, 2012, 6:04 a.m.
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 <dongsheng.wang@freescale.com>
---
 drivers/net/ethernet/freescale/gianfar.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

Patch

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);