On Tue, 2 Nov 2004, Benjamin Herrenschmidt wrote: > > To clarify one point -- if a device is already in a low-power state would > > suspend with state "on" imply that the device must go to its full-power > > state, or is it always consistent with a suspend request to go to a state > > with <= the requested power level? > > No. The only accepted transition from a frozen state is via resume(). > The reason is that if you got a freeze, then you parent device (bus) is > probably frozen too and you may not be able to talk to your device at > all. Then what happens with STD, where in the last step almost every device must make the transition from frozen to off? What if it's known that the device is frozen but the parent isn't? Then there would be no problem. How can it be illegal for the PM core to ask frozen devices to make transitions if it doesn't know whether or not they are frozen (i.e., if the dev->power.power_state field is gone)? Alan Stern