On Mon, Jun 26, 2006 at 11:18:15PM -0700, Linus Torvalds wrote: > > > 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 Yes, but when returning to D0 from D3 it's a very necessary delay before restoring PCI config space etc. Wouldn't this be problematic for PCI devices that want to use resume_early()? Thanks, Adam