Bug 8667
Summary: | sky2 crash when return from resume to ram | ||
---|---|---|---|
Product: | Power Management | Reporter: | Renato S. Yamane (renatoyamane) |
Component: | Hibernation/Suspend | Assignee: | Stephen Hemminger (stephen) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | bugzilla-kernel, f.wenzel, kernel, lenb, rjwysocki, stephen |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.21.1 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | Fix transmit state on resume |
Description
Renato S. Yamane
2007-06-24 14:51:53 UTC
Are you setting/using Wake On Lan? Problem reproduced here with a vanilla 2.6.23-rc1 from git (commit 8d4fbcfbe0a4bfc73e7f0297c59ae514e1f1436f). It has been tracked down to a confused UDP checksum engine. After Suspend-To-RAM, outgoing UDP packets (e.g. nameserver queries) get a wrong checksum. I can ping other computers in the local LAN by their IP address, but not by name. It suddenly starts working again after establishing a tcp connection. Trying to connect to a closed port (SYN/RST) does not help. ifconfig eth0 down/up does not help, reloading the module does help. Of course, disabling TX checksumming helps. Hardware: Fujitsu/Siemens S7110 laptop, Chip: PCI 11ab:4363 (rev 12), driver calls it Yukon-EC Ultra (0xb4) rev 2. Linux is running in x86-64 mode. No, I'm not using wake-on-lan. I think that Michael do a good comment, so I change status to "assigned". Best regards, Renato *** Bug 9089 has been marked as a duplicate of this bug. *** Created attachment 12968 [details]
Fix transmit state on resume
This patch is submitted after 2.6.23-rc8 and should fix the problem
OK, this patch work fine on 2.6.22.9 too. Thanks! On Ubuntu Gutsy (2.6.22) running on my AOpen i915GMm-HFS, I had to revert the patch from the kernel in order for sky2 to wake up from suspend to RAM correctly. With the patch applied, I get the following messages when resuming: Nov 19 20:11:01 sokrates kernel: [ 5184.036000] sky2 0000:04:00.0: v1.18 addr 0xd0020000 irq 18 Yukon-EC (0xb6) rev 1 Nov 19 20:11:02 sokrates kernel: [ 5184.156000] sky2 eth0: enabling interface Nov 19 20:11:02 sokrates kernel: [ 5184.160000] ADDRCONF(NETDEV_UP): eth0: link is not ready Nov 19 20:11:02 sokrates kernel: [ 5184.160000] sky2 eth0: addr [...follows...] But nothing follows those lines regarding sky2. After reverting, things appear to be normal again: Nov 19 22:50:09 sokrates kernel: [ 290.788000] sky2 0000:04:00.0: v1.18 addr 0xd0020000 irq 18 Yukon-EC (0xb6) rev 1 Nov 19 22:50:09 sokrates kernel: [ 290.804000] sky2 eth0: addr [...follows...] Nov 19 22:50:09 sokrates kernel: [ 290.816000] sky2 eth0: enabling interface Nov 19 22:50:09 sokrates kernel: [ 290.820000] ADDRCONF(NETDEV_UP): eth0: link is not ready Nov 19 22:50:11 sokrates kernel: [ 292.676000] sky2 eth0: Link is up at 100 Mbps, full duplex, flow control rx Maybe there is a clash w.r.t. different revisions of the chipset? On Mon, 19 Nov 2007 14:03:37 -0800 (PST) bugme-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=8667 > > > f.wenzel@gmx.net changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |f.wenzel@gmx.net > > > > > ------- Comment #7 from f.wenzel@gmx.net 2007-11-19 14:03 ------- > On Ubuntu Gutsy (2.6.22) running on my AOpen i915GMm-HFS, I had to revert the > patch from the kernel in order for sky2 to wake up from suspend to RAM > correctly. With the patch applied, I get the following messages when > resuming: > > Nov 19 20:11:01 sokrates kernel: [ 5184.036000] sky2 0000:04:00.0: v1.18 addr > 0xd0020000 irq 18 Yukon-EC (0xb6) rev 1 > Nov 19 20:11:02 sokrates kernel: [ 5184.156000] sky2 eth0: enabling interface > Nov 19 20:11:02 sokrates kernel: [ 5184.160000] ADDRCONF(NETDEV_UP): eth0: > link > is not ready > Nov 19 20:11:02 sokrates kernel: [ 5184.160000] sky2 eth0: addr > [...follows...] > > But nothing follows those lines regarding sky2. After reverting, things > appear > to be normal again: > > Nov 19 22:50:09 sokrates kernel: [ 290.788000] sky2 0000:04:00.0: v1.18 addr > 0xd0020000 irq 18 Yukon-EC (0xb6) rev 1 > Nov 19 22:50:09 sokrates kernel: [ 290.804000] sky2 eth0: addr > [...follows...] > Nov 19 22:50:09 sokrates kernel: [ 290.816000] sky2 eth0: enabling interface > Nov 19 22:50:09 sokrates kernel: [ 290.820000] ADDRCONF(NETDEV_UP): eth0: > link > is not ready > Nov 19 22:50:11 sokrates kernel: [ 292.676000] sky2 eth0: Link is up at 100 > Mbps, full duplex, flow control rx > > Maybe there is a clash w.r.t. different revisions of the chipset? > > By default Ubuntu unloads the device drivers on suspend, so it doesn't really use the normal suspend/resume code path. Did you change that? commit 88f5f0cad396be594d6d55cb2d0cd69e8df9ab16 Author: Stephen Hemminger <shemminger@linux-foundation.org> Date: Thu Sep 27 12:38:12 2007 -0700 sky2: fix transmit state on resume shipped in 2.6.23-rc9 closed. |