• Sarah Sharp's avatar
    xhci: Some Evaluate Context commands must succeed. · 4b266541
    Sarah Sharp authored
    The upcoming USB 3.0 Link PM patches will introduce new API to enable
    and disable low-power link states.  We must be able to disable LPM in
    order to reset a device, or place the device into U3 (device suspend).
    Therefore, we need to make sure the Evaluate Context command to disable
    the LPM timeouts can't fail due to there being no room on the command
    ring.
    
    Introduce a new flag to the function that queues the Evaluate Context
    command, command_must_succeed.  This tells the ring handler that a TRB
    has already been reserved for the command (by incrementing
    xhci->cmd_ring_reserved_trbs), and basically ensures that prepare_ring()
    won't fail.  A similar flag was already implemented for the Configure
    Endpoint command queuing function.
    
    All functions that currently call xhci_configure_endpoint() to issue an
    Evaluate Context command pass "false" for the "must_succeed" parameter,
    so this patch should have no effect on current xHCI driver behavior.
    Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
    4b266541
xhci.h 61.5 KB