linux/drivers/usb/core
Mathias Nyman fdc4d918bc usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices
[ Upstream commit 37be66767e ]

USB-3 does not have any link state that will avoid negotiating a connection
with a plugged-in cable but will signal the host when the cable is
unplugged.

For USB-3 we used to first set the link to Disabled, then to RxDdetect to
be able to detect cable connects or disconnects. But in RxDetect the
connected device is detected again and eventually enabled.

Instead set the link into U3 and disable remote wakeups for the device.
This is what Windows does, and what Alan Stern suggested.

Cc: stable@vger.kernel.org
Cc: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
History 2017-01-15 09:49:49 -05:00
..
buffer.c usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN 2015-03-06 14:53:00 -08:00
config.c USB: change bInterval default to 10 ms 2016-10-05 22:40:20 -04:00
devices.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
devio.c USB: avoid left shift by -1 2016-09-12 18:59:55 -04:00
driver.c USB: leave LPM alone if possible when binding/unbinding interface drivers 2016-06-03 11:30:33 -04:00
endpoint.c USB: core: be specific about attribute permissions 2013-08-25 15:12:03 -07:00
file.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
generic.c staging: usbip: convert usbip-host driver to usb_device_driver 2014-02-07 10:54:30 -08:00
hcd-pci.c usb: hcd: out of bounds access in for_each_companion 2016-04-20 09:41:07 -04:00
hcd.c USB: don't free bandwidth_mutex too early 2016-07-12 08:47:15 -04:00
hub.c usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices 2017-01-15 09:49:49 -05:00
hub.h usb: hub: convert khubd into workqueue 2014-09-23 22:33:19 -07:00
Kconfig usb: core: Kconfig: TPL should apply for both OTG and EH 2014-09-23 21:28:41 -07:00
Makefile USB: core: remove CONFIG_USB_DEBUG usage 2013-12-21 16:01:00 -08:00
message.c USB: don't cancel queued resets when unbinding drivers 2015-03-06 14:53:00 -08:00
notify.c usb: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:25 -04:00
otg_whitelist.h USB: Add OTG PET device to TPL 2015-02-05 22:36:04 -08:00
port.c usb: force warm reset to break link re-connect livelock 2014-07-09 15:43:12 -07:00
quirks.c usb: quirks: Add no-lpm quirk for Elan 2016-08-22 12:23:09 -04:00
sysfs.c USB: core: correct spelling mistakes in comments and warning 2014-01-07 16:17:40 -08:00
urb.c usb: core: allow zero packet flag for interrupt urbs 2014-07-22 16:30:58 -07:00
usb-acpi.c usb: find internal hub tier mismatch via acpi 2014-05-27 16:38:52 -07:00
usb.c usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN 2015-03-06 14:53:00 -08:00
usb.h usb: hub: rename usb_kick_khubd() to usb_kick_hub_wq() 2014-09-23 22:33:19 -07:00