• Mathias Nyman's avatar
    xhci: set missing SuperSpeedPlus Link Protocol bit in roothub descriptor · 7bea22b1
    Mathias Nyman authored
    A SuperSpeedPlus roothub needs to have the Link Protocol (LP) bit set in
    the bmSublinkSpeedAttr[] entry of a SuperSpeedPlus descriptor.
    
    If the xhci controller has an optional Protocol Speed ID (PSI) table then
    that will be used as a base to create the roothub SuperSpeedPlus
    descriptor.
    The PSI table does not however necessary contain the LP bit so we need
    to set it manually.
    
    Check the psi speed and set LP bit if speed is 10Gbps or higher.
    We're not setting it for 5 to 10Gbps as USB 3.1 specification always
    mention SuperSpeedPlus for 10Gbps or higher, and some SSIC USB 3.0 speeds
    can be over 5Gbps, such as SSIC-G3B-L1 at 5830 Mbps
    
    Cc: <stable@vger.kernel.org> # 4.6+
    Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    7bea22b1
xhci-hub.c 48.8 KB