• Alan Stern's avatar
    USB: EHCI: carry out port handover during each root-hub resume · 3bb1af52
    Alan Stern authored
    This patch (as1044) causes EHCI port handover for non-high-speed
    devices to occur during every root-hub resume, not just in cases where
    the controller lost power or was reset.  This is necessary because:
    
    	When some machines go into suspend, they remove power from
    	on-board USB devices while retaining suspend current for USB
    	controllers.
    
    	The user might well unplug a USB device while the system is
    	suspended and then plug it back in before resuming.
    
    A corresponding change is made to the core resume routine; now
    high-speed root hubs will always be resumed when the system wakes up,
    even if they were suspended before the system went to sleep.  If this
    weren't done then EHCI port handover wouldn't work, since it is called
    when the EHCI root hub is resumed.
    
    Finally, a comment is added to the hub driver explaining the khubd has
    to be freezable; if it weren't frozen then it could interfere with
    port handover.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    3bb1af52
ehci-hub.c 23.4 KB