• Sarah Sharp's avatar
    USB: Fix USB3.0 Port Speed Downgrade after port reset · 809cd1cb
    Sarah Sharp authored
    Without this fix, a USB 3.0 port is downgraded to full speed after a port
    reset of a configured device.  The USB 3.0 terminations will be disabled
    permanently, and USB 3.0 devices will always enumerate as full speed
    devices, until the host controller is unplugged (if it is an ExpressCard)
    or the computer is rebooted.
    
    Fajun Chen traced this traced the speed downgrade issue to the port reset
    and the interpretation of port status in USB hub driver code.  The hub
    code was not testing for the port being a SuperSpeed port, and it fell
    through to the else case of Full Speed.
    
    The following patch adds SuperSpeed mapping from the port status, and
    fixes the speed downgrade issue.
    Reported-by: default avatarFajun Chen <fajun.chen@seagate.com>
    Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
    Cc: stable <stable@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    809cd1cb
hub.c 109 KB