Skip to content

usb: hub: Fail fast on USB3 LPM requests issues

Mathias Nyman linux-usb 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5usb: hub: Block less in USB3 link power management LPM disable pathdrivers/usb/core/hub.c+10 -60 replies
2/5usb: hub: verify device is configured in usb_device_may_initiate_lpm()drivers/usb/core/hub.c+8 -80 replies
3/5usb: hub: Don't disable LPM completely if device initiated LPM failsdrivers/usb/core/hub.c+2 -110 replies
4/5usb: hub: reorder USB3 link power management enable requestsdrivers/usb/core/hub.c+13 -80 replies
5/5usb: hub: Fail fast in USB3 link power management enable pathdrivers/usb/core/hub.c+12 -80 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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

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(-)
Signature · 1 line
2.43.0