• Anand Gadiyar's avatar
    USB: ehci-omap: Fix resume failures after bus suspend · 572538de
    Anand Gadiyar authored
    An undocumented "feature" in the OMAP3 EHCI controller causes
    suspended ports to be taken out of suspend when the USBCMD.Run/Stop
    bit is cleared (this bit is normally cleared when ehci_bus_suspend
    is called).
    
    This "feature" breaks suspend-resume if the root-hub is allowed
    to suspend. (The controller thinks it is in resume, and the PHY
    thinks it is still in suspend).
    
    There is an undocumented register bit that can be used to disable
    this feature and restore normal behavior. Set this bit so
    suspend-resume can work normally.
    
    Tested on OMAP3 SDPs with the NXP ISP1504 and NXP ISP1703 PHYs.
    Signed-off-by: default avatarAnand Gadiyar <gadiyar@ti.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    572538de
ehci-omap.c 23 KB