linux-stable/drivers/usb/core
Sarah Sharp 809cd1cb80 USB: Fix USB3.0 Port Speed Downgrade after port reset
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: Fajun Chen <fajun.chen@seagate.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 12:00:58 -07:00
..
buffer.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
config.c USB: remove the usb_host_ss_ep_comp structure 2010-05-20 13:21:40 -07:00
devices.c USB: devices: fix Coding Styles 2010-05-20 13:21:38 -07:00
devio.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
driver.c USB: obey the sysfs power/wakeup setting 2010-06-30 08:16:06 -07:00
endpoint.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
file.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
generic.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
hcd-pci.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
hcd.c USB: add missing "{}" in map_urb_for_dma 2010-05-20 13:21:45 -07:00
hub.c USB: Fix USB3.0 Port Speed Downgrade after port reset 2010-07-26 12:00:58 -07:00
inode.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
Kconfig USB: fix build on OMAPs if CONFIG_PM_RUNTIME is not set 2010-04-30 09:25:11 -07:00
Makefile USB: add the usbfs devices file to debugfs 2009-06-15 21:44:43 -07:00
message.c USB: fix oops in usb_sg_init() 2010-06-30 08:16:06 -07:00
notify.c USB : correct comments in usb/core/notify.c 2008-02-01 14:34:44 -08:00
otg_whitelist.h USB: fix codingstyle issues in drivers/usb/core/*.h 2008-02-01 14:35:07 -08:00
quirks.c USB: Add a new quirk: USB_QUIRK_HONOR_BNUMINTERFACES 2010-05-20 13:21:32 -07:00
sysfs.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
urb.c USB: Add a usb_pipe_endpoint() convenience function 2010-05-20 13:21:41 -07:00
usb.c drivers/base: Convert dev->sem to mutex 2010-05-21 09:37:30 -07:00
usb.h USB: convert to the runtime PM framework 2010-03-02 14:54:12 -08:00