Message ID | 1352181848-24102-1-git-send-email-dongsheng.wang@freescale.com |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
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);
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(-)