On Fri, 5 Mar 2010, Libin wrote: > > > I thought the USB core ensured that all devices were suspended before > > > suspending the root hub. Alan, can you confirm? > > > > It does not ensure this if CONFIG_USB_SUSPEND isn't enabled. In such > > cases it never suspends any ports, but it still calls the HCDs' > > bus_suspend routines if CONFIG_PM is set. > > So does this mean that if CONFIG_USB_SUSPEND isn't enabled, > bus_suspend() can straight skip the port suspend and return? Or > bus_suspend() needs suspend the ports? Even if CONFIG_USB_SUSPEND is defined, ports still won't always be suspended before bus_suspend() runs. This will happen during the FREEZE and PRETHAW phases of hibernation. In fact, during FREEZE and PRETHAW it isn't really necessary to suspend the xHCI controller. All that is needed is to make sure that it stops issuing interrupts and doing DMA. > BTW: Is Greg's git address: > > git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git I don't think so; the summary for that repository says "junk tree, please ignore". The last time I checked, Greg's work was not available in a git repository. You have to look at the most recent patch files in: http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ Right now that would be gregkh-07-usb-2.6.33.patch or gregkh-all-2.6.33.patch. 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