aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/endpoint.c
diff options
context:
space:
mode:
authorMathias Nyman <mathias.nyman@linux.intel.com>2022-02-16 11:51:51 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-02-17 16:20:46 +0100
commitcd36facf104afbde7e8fa25cd6f5b6dd9fa97bb2 (patch)
tree2e8a02ac489d7af5ec9d7fcdafb55bcacaf9f62e /drivers/usb/core/endpoint.c
parentxhci: Allocate separate command structures for each LPM command (diff)
downloadlinux-dev-cd36facf104afbde7e8fa25cd6f5b6dd9fa97bb2.tar.xz
linux-dev-cd36facf104afbde7e8fa25cd6f5b6dd9fa97bb2.zip
usb: remove Link Powermanagement (LPM) disable before port reset.
Trying to disable Link Powermanagement (LPM) before port reset is unnecessary and can cause additional delay if host can't communicate with the device, which is often the reason why device is reset in the first place. usb_disable_lpm() will - zero usb U1/U2 timeouts for the hub downstream port - send ENABLE U1/U2 clear feature requests to the connected device. - increase internal reference count for udev->lpm_disable_count There is no need to zero U1/U2 hub port timeouts, or clearing the U1/U2 enable for the connected device before reset. These are set to default by the reset. USB 3.1 section 10.2.2 "HUB Downstream port U1/U2 timers" states that: "the U1 and U2 timeout values for a downstream port reset to the default values when the port receives a SetPortFeature request for a port reset" Set the udev->lpm_disable_count to "1" after port reset, which is the default lpm_disable_count value when allocating udev, representing disabled LPM. Cc: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Link: https://lore.kernel.org/r/20220216095153.1303105-8-mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/core/endpoint.c')
0 files changed, 0 insertions, 0 deletions