USB selective suspend at XP and w2k3 is neverending source of problems. The implementation is imperfect, DDK samples are wrong, and there are race conditions which can lead to deadlocks or BSODs. I’d even say the whole idea is design flaw. It makes some sense for composite devices but for most USB devices it is unnecessarily complicated and error prone. At Vista things can be made differently. USB driver can use old way but it can also control device power states directly. It looks much more reasonable, especially when I saw the new kind of BSOD related to OS IDLE IRPs management. However, it is something new and can bring new problems. I have to make the decision. For XP and w2k3 SS “mostly works” and there is no chance for improvement. For Vista I can rewrite the driver to control device power directly. Has anybody tried it? Does it really work and WDK states? Or are there some unexpected problems?
Comments welcome.
Best regards,
Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]