linux-hardened/drivers/usb/core
Mathias Nyman 57edd46227 usb: Don't disable Latency tolerance Messaging (LTM) before port reset
Disabing Latency Tolerance Messaging before port reset is unnecessary.
LTM is automatically disabled at port reset.

If host can't communicate with the device the LTM message will fail, and
the hub driver will unnecessarily do a logical disconnect.
Broken communication is ofter the reason for a reset in the first place.

Additionally we can't guarantee device is in a configured state,
epecially in reset-resume case when root hub lost power.
LTM can't be modified unless device is in a configured state.

Just remove LTM disabling before port reset.

Details about LTM and port reset in USB 3 specification:

USB 3 spec section 9.4.5
"The LTM Enable field can be modified by the SetFeature() and
ClearFeature() requests using the LTM_ENABLE feature selector.
This field is reset to zero when the device is reset."

USB 3 spec section 9.4.1
"The device shall process a Clear Feature (U1_Enable or U2_Enable or
LTM_Enable) only if the device is in the configured state."

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-09 09:37:10 -08:00
..
buffer.c USB: core: move existing SPDX tags to top of the file 2017-11-03 10:12:26 +01:00
config.c USB: Fix off by one in type-specific length check of BOS SSP capability 2017-12-19 11:40:54 +01:00
devices.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
devio.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
driver.c usb: Don't print a warning if interface driver rebind is deferred at resume 2017-12-07 16:03:15 +01:00
endpoint.c USB: core: move existing SPDX tags to top of the file 2017-11-03 10:12:26 +01:00
file.c USB: core: move existing SPDX tags to top of the file 2017-11-03 10:12:26 +01:00
generic.c USB: core: move existing SPDX tags to top of the file 2017-11-03 10:12:26 +01:00
hcd-pci.c USB: core: Remove redundant license text 2017-11-04 11:55:39 +01:00
hcd.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
hub.c usb: Don't disable Latency tolerance Messaging (LTM) before port reset 2018-03-09 09:37:10 -08:00
hub.h USB: core: Remove redundant license text 2017-11-04 11:55:39 +01:00
Kconfig docs-rst: fix usb cross-references 2017-04-11 14:41:29 -06:00
ledtrig-usbport.c USB: of: clean up device-node helper 2017-11-28 15:12:38 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
message.c usb: core: add support for USB_REQ_SET_ISOCH_DELAY 2017-12-15 20:45:43 +01:00
notify.c USB: core: move existing SPDX tags to top of the file 2017-11-03 10:12:26 +01:00
of.c USB: of: clean up device-node helper 2017-11-28 15:12:38 +01:00
otg_whitelist.h USB: core: Remove redundant license text 2017-11-04 11:55:39 +01:00
port.c USB: core: Remove redundant license text 2017-11-04 11:55:39 +01:00
quirks.c Add delay-init quirk for Corsair K70 RGB keyboards 2018-02-15 20:52:56 +01:00
sysfs.c USB/PHY patches for 4.15-rc1 2017-11-13 21:14:07 -08:00
urb.c USB: remove the URB_NO_FSBR flag 2017-12-12 13:16:07 +01:00
usb-acpi.c USB: core: Remove redundant license text 2017-11-04 11:55:39 +01:00
usb.c USB: of: clean up device-node helper 2017-11-28 15:12:38 +01:00
usb.h usb: core: add support for USB_REQ_SET_ISOCH_DELAY 2017-12-15 20:45:43 +01:00