Hello, for some time now I had the problem that after a suspend to disk network connectivitiy was down and also wake-on-lan would not work. First a bit of information, for the real question please see (*) below. Now I just found the ethtool -d (register dump) option and decided I want to try to debug this long-standing bug: http://bugzilla.kernel.org/show_bug.cgi?id=8381 I already found out why network connectivity is down after resume: The interfaces eth0 and eth1 are bridged into br0. The bridging code sets the interfaces into promiscous mode, but this is not properly restored after resume. This bug is easily fixable by calling nv_set_multicast(dev) either from within nv_open() or after nv_open() in nv_resume(). The second problem (does not wol after s2disk) is still unsolved though. However I have found that wake-on-lan works fine if I "rmmod forcedeth" before suspending. This is even a usable workaround for me, since the bridge device stays configured and I just have to reload forcedeth and readd the interfaces to the bridge after resume. (*) Now for my question: AFAICS the ordering of events is as follows: 1) User reqests hibernate 2) Tasks are frozen 3) Device suspend callbacks get called 4) Device resume callbacks get called 5) Memory image is written to disk Now, the problem I see with this is that while step 3) prepares the device for suspend (and wake-on-lan), step 4) may undo some of this preparation. In my case, I think the fix for the first bug (promiscous mode does not get restored on resume) breaks wake-on-lan (since the new value of NvRegPacketFilterFlags may be incompatible with wake-on-lan). Shouldn't there be a 'prepare for poweroff'-callback, which gets called before the system is powered off for real? --- linux-2.6.26-rc2/drivers/net/forcedeth.c 2008-05-17 14:22:06.000000000 +0200 +++ linux-2.6.26-rc2/drivers/net/forcedeth.c 2008-05-17 19:48:56.000000000 +0200 @@ -5823,6 +5823,7 @@ writel(txreg, base + NvRegTransmitPoll); rc = nv_open(dev); + nv_set_multicast(dev); out: return rc; } -- Tobias PGP: http://9ac7e0bc.uguu.de このメールは十割再利用されたビットで作られています。 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Linus Torvalds | Re: init's children list is long and slows reaping children. |
| Kohei KaiGai | [PATCH 0/3] exporting capability name/code pairs (final#2) |
git: | |
| Gerrit Renker | [PATCH 33/37] dccp: Initialisation framework for feature negotiation |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Arjan van de Ven | Re: [GIT]: Networking |
| Mark Ryden | Re: Linux Wireless Mini-Summit -- Ottawa -- July 22, 2008 |
