• Sarah Sharp's avatar
    xhci: Don't let the USB core disable SuperSpeed ports. · 6dd0a3a7
    Sarah Sharp authored
    Disabling SuperSpeed ports is a Very Bad Thing (TM).  It disables
    SuperSpeed terminations, which means that devices will never connect at
    SuperSpeed on that port.  For USB 2.0/1.1 ports, disabling the port meant
    that the USB core could always get a connect status change later.  That's
    not true with USB 3.0 ports.
    
    Do not let the USB core disable SuperSpeed ports.  We can't rely on the
    device speed in the port status registers, since that isn't valid until
    there's a USB device connected to the port.  Instead, we use the port
    speed array that's created from the Extended Capabilities registers.
    Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
    Tested-by: default avatarDon Zickus <dzickus@redhat.com>
    Cc: stable@kernel.org
    6dd0a3a7
xhci-hub.c 20.9 KB