All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathias Nyman <mathias.nyman@linux.intel.com>
To: <gregkh@linuxfoundation.org>
Cc: <linux-usb@vger.kernel.org>, <stern@rowland.harvard.edu>,
	Mathias Nyman <mathias.nyman@linux.intel.com>
Subject: [PATCH 0/5] usb: hub: Fail fast on USB3 LPM requests issues
Date: Fri, 14 Mar 2025 16:19:55 +0200	[thread overview]
Message-ID: <20250314142000.93090-1-mathias.nyman@linux.intel.com> (raw)

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(-)

-- 
2.43.0


             reply	other threads:[~2025-03-14 14:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-14 14:19 Mathias Nyman [this message]
2025-03-14 14:19 ` [PATCH 1/5] usb: hub: Block less in USB3 link power management LPM disable path Mathias Nyman
2025-03-14 14:19 ` [PATCH 2/5] usb: hub: verify device is configured in usb_device_may_initiate_lpm() Mathias Nyman
2025-03-14 14:19 ` [PATCH 3/5] usb: hub: Don't disable LPM completely if device initiated LPM fails Mathias Nyman
2025-03-14 14:19 ` [PATCH 4/5] usb: hub: reorder USB3 link power management enable requests Mathias Nyman
2025-03-14 14:20 ` [PATCH 5/5] usb: hub: Fail fast in USB3 link power management enable path Mathias Nyman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250314142000.93090-1-mathias.nyman@linux.intel.com \
    --to=mathias.nyman@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.