Hi! > > > > Unfreeze during resume: reinitialize the hardware, then enable queues. > > > > > > Don't always re-init; S4 may have had it preserve key state. > > > Like how the device requested the wakeup from S4, or the state > > > of downstream links. > > > > Ok, so the driver *needs* to know if state was preserved over the > > suspend or not... To know if it should do full re-init or if parts of > > re-init can be skipped. That's where more detailed message during > > device_resume() would be nice. > > Currently that state comes in two parts: > > - Hardware ... look at registers, see if "reset" path is right > - Software ... maybe registers aren't sufficient for this hw > > If software state was needed, it had to have been set up > earlier before that system sleep transition. I still don't > see a need for more resume() state. You are suggesting foo_resume(void) { if (!ask_hardware_if_it_is_initialized()) initialize_hw(); } while I see some value in foo_resume(power_t state) { if (STATE_LOST(state)) initialize_hw(); } It is only speed optimalization, but I undestand why someone would like to do it. Pavel -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!