On Thu, Apr 27, 2006 at 10:34:16AM -0400, Alan Stern wrote: > On Thu, 27 Apr 2006, Pavel Machek wrote: > > > Hi! > > > > > The right way to solve this is to make sure that the resuming kernel can > > > correctly determine whether the power session (way back from the original > > > sw-suspend) is still intact. It's expected that in many cases it won't > > > be, because most systems won't provide suspend current while the machine > > > is off. We have to guarantee that the boot kernel's actions won't end up > > > fooling the resuming kernel into thinking that the power sessions are > > > intact when in fact they aren't. (Furthermore, in an ideal world, we > > > would also make sure that the boot kernel won't destroy any power sessions > > > that still _are_ intact. Right now we have no way to do this, because the > > > drivers in the boot kernel don't know that it _is_ a boot kernel.) > > > > You don't know if it is boot or resume until you read the disk, sorry. > > According to David this shouldn't matter. During swsusp the system is > supposed to be completely off, with no suspend power available. Hence all > the power sessions are guaranteed to be interrupted, and the boot kernel > doesn't have to worry about destroying any of them. Not necessarily. x86 hardware implementations of suspend-to-disk retain some power during suspend. Not many (if any) devices will retain context, but the system is definitely not completely "off". Actually, the same is true for soft-off on x86 (aka ACPI S5). Some power may be drawn to support various power on events. The only time a system is truly off is when it is unplugged from the wall (and/or the battery taken out, if applicable). I don't think it matters much in this particular context, but it's important to keep in mind when making assumptions about "off-ness". Thanks, Patrick