• Thinh Nguyen's avatar
    usb: core: hub: Disable hub-initiated U1/U2 · 56175929
    Thinh Nguyen authored
    If the device rejects the control transfer to enable device-initiated
    U1/U2 entry, then the device will not initiate U1/U2 transition. To
    improve the performance, the downstream port should not initate
    transition to U1/U2 to avoid the delay from the device link command
    response (no packet can be transmitted while waiting for a response from
    the device). If the device has some quirks and does not implement U1/U2,
    it may reject all the link state change requests, and the downstream
    port may resend and flood the bus with more requests. This will affect
    the device performance even further. This patch disables the
    hub-initated U1/U2 if the device-initiated U1/U2 entry fails.
    
    Reference: USB 3.2 spec 7.2.4.2.3
    Signed-off-by: default avatarThinh Nguyen <thinhn@synopsys.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    56175929
hub.c 172 KB