On Tue, 27 Jun 2006, Adam Belay wrote: > > Yes, and pci_set_power_state() can require msleep(). Actually, I was looking at that, and it's a problem right now. For all the silly (and wrong) reasons. The msleep() shouldn't actually be in pci_set_power_state(), but in the infrastructure that calls it. In particular, when actually powering down, there's no point in doing a msleep() between each device - we'll be sleeping a lot longer than 10ms after we've gone down. The fact that D3hot won't necessarily take effect until 10 ms after we've done the "go to sleep" thing obviously doesn't really mean that we should actually sleep 10 msec _there_. Linus