Re: hibernate event order question

From: Tobias Diedrich
Date: Sat May 17 2008 - 17:04:18 EST

Rafael J. Wysocki wrote:
> > 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
> 6) Device suspend callbacks get called again to prepare for the system sleep
> state.

Hmm, I guess I don't see that because by then the console is disabled or
something like that?
(It also doesn't help that the system immediately powers down after that)
Can I get debugging output during that phase out onto the serial
console and/or plain text console & simply turn the poweroff into a
halt? (halt in addition to shutdown and reboot in /sys/power/disk
might be nice)

The problem is I'm really seeing/have seen multiple issues/situations here:
1) When the device is part of a bridge, connectivity is down after
2) Boot->Hibernate->WOL works->Hibernate->WOL only works with
byte-reversed MAC-address
3) I have to reconfirm this, but I think after fixing bug 1) with
the patch of the previous mail bug 2) turns into 4):
4) WOL doesn't work at all after Hibernate
5) nforce ethernet and netgear switch don't like each other and
sometimes negotiate only 100Mbit instead of 1Gbit, while my
notebook on a much longer cable never has negotiation problems
6) In the past sometimes negotiation would take very long, that one
I haven't seen in some time so I assume it's fixed in recent
kernels. This one only happened if both ports were enabled IIRC

"Device suspend callbacks get called again" means I have to retest 3)
Maybe I'm imagining things or seeing a heisenbug here?

1) Is fixed by the patch in the previous mail
2) I assume to be related to DEV_HAS_CORRECT_MACADDR,
NVREG_TRANSMITPOLL_MAC_ADDR_REV and some magic byteswapping code in
the driver.
1) and 2)/4) can be worked around (for the bridge case) by removing
the forcedeth module prior to hibernate and reinserting the module
and readding the devices to the bridge after resume.

Tobias PGP:
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at