]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices
authorMathias Nyman <mathias.nyman@linux.intel.com>
Thu, 17 Nov 2016 09:14:14 +0000 (11:14 +0200)
committerJiri Slaby <jslaby@suse.cz>
Thu, 26 Jan 2017 16:22:25 +0000 (17:22 +0100)
commit6cc18ebe2066e89f47b112bfc58ec67f1bc48142
tree32a0e9fd9990693c204ab4737dfcb083975268db
parentcdd9e42bfe86d7f945ad302ecac8e6e2c4e9b2ad
usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices

commit 37be66767e3cae4fd16e064d8bb7f9f72bf5c045 upstream.

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: 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: Jiri Slaby <jslaby@suse.cz>
drivers/usb/core/hub.c