mbox series

[0/5] usb: hub: Fail fast on USB3 LPM requests issues

Message ID 20250314142000.93090-1-mathias.nyman@linux.intel.com (mailing list archive)
Headers show
Series usb: hub: Fail fast on USB3 LPM requests issues | expand

Message

Mathias Nyman March 14, 2025, 2:19 p.m. UTC
Stress testing suspend and resume with several Link Power Management
(LPM) capable USB3 hubs and devices reveal that hub workqueue may be
blocked from handling device disconnects due to slow processing LPM
requests over a bad link.

Enabling and disabling USB3 LPM requires sending four USB requests.
These requests are sent in the hub workqueue. If the link is bad then
the requests need to fail first before other port issues are handled.

Fail fast if these USB3 LPM requests fail.
Don't try to recover a failure to disable LPM with enabling LPM.
This just causes even more blocking requests to be sent over a
possibly broken link.

Mathias Nyman (5):
  usb: hub: Block less in USB3 link power management LPM disable path
  usb: hub: verify device is configured in usb_device_may_initiate_lpm()
  usb: hub: Don't disable LPM completely if device initiated LPM fails
  usb: hub: reorder USB3 link power management enable requests
  usb: hub: Fail fast in USB3 link power management enable path

 drivers/usb/core/hub.c | 74 ++++++++++++++++++++++--------------------
 1 file changed, 39 insertions(+), 35 deletions(-)