mirror_ubuntu-kernels/drivers/usb
Mathias Nyman cd36facf10 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>
2022-02-17 16:20:46 +01:00
..
atm exit: Rename complete_and_exit to kthread_complete_and_exit 2021-12-13 12:04:45 -06:00
c67x00 usb/c67x00: Replace tasklet with work 2021-01-26 18:36:37 +01:00
cdns3 Linux 5.17-rc2 2022-01-31 10:13:10 +01:00
chipidea usb: udc: Fix typo in comment 2022-01-31 14:24:39 +01:00
class tty: tty_io: Switch to vmalloc() fallback in case of TTY_NO_WRITE_SPLIT 2021-12-21 09:18:44 +01:00
common usb: ulpi: Add debugfs support 2022-02-14 11:05:41 +01:00
core usb: remove Link Powermanagement (LPM) disable before port reset. 2022-02-17 16:20:46 +01:00
dwc2 Revert "usb: dwc2: drd: fix soft connect when gadget is unconfigured" 2022-02-12 10:08:54 +01:00
dwc3 usb: dwc3: drd: Don't check against CONFIG_OF 2022-02-17 16:12:21 +01:00
early Revert "usb: early: convert to readl_poll_timeout_atomic()" 2021-12-17 16:29:11 +01:00
gadget Linux 5.17-rc4 2022-02-14 09:04:36 +01:00
host xhci: Allocate separate command structures for each LPM command 2022-02-17 16:20:45 +01:00
image scsi: core: Remove the 'done' argument from SCSI queuecommand_lck functions 2021-10-16 21:32:16 -04:00
isp1760 usb: isp1760: Use platform_get_irq() to get the interrupt 2021-12-21 08:51:57 +01:00
misc Linux 5.17-rc4 2022-02-14 09:04:36 +01:00
mon
mtu3 usb: mtu3: set interval of FS intr and isoc endpoint 2021-12-21 09:05:45 +01:00
musb usb: musb: dsps: Use platform_get_irq_byname() to get the interrupt 2021-12-21 08:51:57 +01:00
phy usb: Remove redundant 'flush_workqueue()' calls 2021-11-17 14:36:57 +01:00
renesas_usbhs usb: renesas_usbhs: Use platform_get_irq() to get the interrupt 2021-12-21 08:51:57 +01:00
roles usb: roles: add helper usb_role_string() 2021-05-27 09:17:18 +02:00
serial USB: serial: cp210x: add CPI Bulk Coin Recycler id 2022-02-01 11:56:23 +01:00
storage usb-storage: Add unusual-devs entry for VL817 USB-SATA bridge 2022-01-25 18:42:52 +01:00
typec usb: typec: rt1719: Add support for Richtek RT1719 2022-02-11 11:59:17 +01:00
usbip usbip: vudc: Make use of the helper macro LIST_HEAD() 2022-02-14 12:49:38 +01:00
Kconfig usb: remove reference to deleted config STB03xxx 2021-08-18 15:32:19 +02:00
Makefile usb: host: remove line for obsolete config USB_HWA_HCD 2021-08-18 15:32:19 +02:00
usb-skeleton.c usb: usb-skeleton: Update min() to min_t() 2021-10-05 12:56:48 +02:00