• A
    xHCI: Increase the timeout for controller save/restore state operation · 622eb783
    Andiry Xu 提交于
    When system software decides to power down the xHC with the intent of
    resuming operation at a later time, it will ask xHC to save the internal
    state and restore it when resume to correctly recover from a power event.
    Two bits are used to enable this operation: Save State and Restore State.
    
    xHCI spec 4.23.2 says software should "Set the Controller Save/Restore
    State flag in the USBCMD register and wait for the Save/Restore State
    Status flag in the USBSTS register to transition to '0'". However, it does
    not define how long software should wait for the SSS/RSS bit to transition
    to 0.
    
    Currently the timeout is set to 1ms. There is bug report
    (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1002697)
    indicates that the timeout is too short for ASMedia ASM1042 host controller
    to save/restore the state successfully. Increase the timeout to 10ms helps to
    resolve the issue.
    
    This patch should be backported to stable kernels as old as 2.6.37, that
    contain the commit 5535b1d5 "USB: xHCI:
    PCI power management implementation"
    Signed-off-by: NAndiry Xu <andiry.xu@gmail.com>
    Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
    Cc: Ming Lei <ming.lei@canonical.com>
    Cc: stable@vger.kernel.org
    622eb783
xhci.c 136.5 KB