> [several sequences to unplug/replug same/different device while suspended] > > > The first three sequences means that we can't guarantee that on resume, > > the devices available will be identical to those on suspend. The last > > sequence means that even if it is, we may need to do more than just > > reload firmware - and in the case of notebooks, this sequence is going > > Depends on whether the host is still able to monitor the bus state during > suspend. If the HC / root hub ports are unable to monitor the bus state - > f.e. when the HC itself gets suspended in D3cold state? -
Any D3 state, with the exception of devices for which remote wakeup has been enabled, is in this category (as I understand). I'm less clear on D1 and D2. USB may not be able to go into some of those states unless nothing's connected to the root hub. I'd be interested in seeing someone dig into power management for Linux-USB during the 2.5 series, including adding remote wakeup. > If the bus state is monitored, there is no problem with your sequences. Except the implication that "same device" is in general knowable, so that the device driver (and other system software) can always reconfigure it to be the same. > Note that usb device/hub suspend is pretty much different from disconnect: > suspend goes through USB idle state (>3ms) while disconnect is signaled by > SE0. Thus the host can pretty well distinguish what happened with the > suspended device. Whenever the host sees a disconnect, it must not even > try to resume the device, regardless what it finds when resuming the USB. And I seem to recall that USB suspend is a different beast from the D1/D2/D3 systum suspend, too, which can be confusing. - Dave _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel