An important question needs to be answered before the new PM messages can be handled properly in device drivers. What should happen when a device sends a resume or wakeup request while the system is going through a transition into a sleep state? For example, suppose we're doing STR and a driver's suspend() method has already run, but before everything else is suspended and interrupts are disabled the driver receives a resume request. What should it do? Can the sleep transition be aborted somehow? Or should the request be saved and acted on when the system wakes up later? Part of the problem is that the driver doesn't know a transition is occurring. It only knows that its device is suspended and wants to resume; it's impossible to tell whether this is a selective suspend (in which case the resume should be allowed) or a global suspend (in which case something else should happen -- but what?). With STD the question is even more acute. What happens if the resume request arrives after the memory snapshot has been taken? Then there's no way to save the request for later. But if the request isn't acted on immediately, it will be lost forever. Alan Stern