On Mon, 1 Oct 2012, Sarah Sharp wrote: > > I don't remember the details. Doesn't usb_unlocked_disable_lpm() force > > the device back into U0? You call that routine before suspending the > > port. > > It sends the control transfer to bring the port from U1/U2 into U0 and > disables any further device or hub initiated U1/U2 transitions. But it > doesn't actually _wait_ for the port to enter U0. Would you have to poll for it in a loop? > > But we don't when going into the FREEZE or PRETHAW stages of > > hibernation -- all we do is call the bus_suspend routines for root > > hubs. That may need to be changed for USB-3 buses. > > I think so. Where is the code that only calls bus_suspend? I'll take a > stab at fixing it. generic.c:generic_suspend(). Note that nowadays, PM_EVENT_PRETHAW is merely an alias for PM_EVENT_QUIESCE. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html