From: Ping-Ke Shih <pkshih@realtek.com>
To: "5mghybrid@khu.ac.kr" <5mghybrid@khu.ac.kr>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Cc: Jes Sorensen <Jes.Sorensen@gmail.com>,
Kalle Valo <kvalo@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH rtw-next v4 3/3] wifi: rtl8xxxu: preserve RX requests across recoverable transfer errors
Date: Tue, 22 Sep 2026 02:54:36 +0000 [thread overview]
Message-ID: <774ea22c4a7d4509990197d1fe795b08@realtek.com> (raw)
In-Reply-To: <20260921-codex-rtl-rx-v3-submit-v4-3-eeb09fe8f791@khu.ac.kr>
Kim Wooseok via B4 Relay <devnull+5mghybrid.khu.ac.kr@kernel.org> wrote:
> From: Kim Wooseok <5mghybrid@khu.ac.kr>
>
> rtl8xxxu resubmits completed RX requests when more than eight URBs are
> waiting on the pending list. It starts with 32 URBs, but frees them on
> completion errors. After enough errors, the remaining pool can no longer
> reach the submission threshold. Reception then stays stopped even after
> the errors end. Temporary submission failures can leave a small batch
> waiting with no further work scheduled, too.
>
> Keep the URB when a completion reports EPROTO, EILSEQ, ETIME, EOVERFLOW,
> ECOMM or ENOSR. Free its receive buffer and return the request to the
> same pending list used by normal completions. ENOMEM/EAGAIN from startup
> or worker submission uses this path as well, so a submission failure
> cannot strand a request during recovery.
>
> Use one delayed work item to submit the pending requests. An error
> queues a retry after 100 ms without moving an existing reservation back.
> If a normal completion takes the pending count above eight,
> mod_delayed_work(..., 0) brings the work forward. This limits repeated
> retries when reception is not progressing, while allowing normal traffic
> to replenish the pool promptly. The 100 ms delay is therefore not a
> minimum wait for each failed URB.
>
> Keep the shutdown check, queue insertion and scheduling under the RX
> lock. Stop sets shutdown under that lock, cancels the delayed work
> synchronously, then drains active and pending requests. Cancellation and
> device removal continue to free their URBs.
>
> Fixes: 26f1fad29ad9 ("New driver: rtl8xxxu (mac80211)")
> Assisted-by: GPT-6 Astra
> Signed-off-by: Kim Wooseok <5mghybrid@khu.ac.kr>
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
prev parent reply other threads:[~2026-09-22 2:54 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-21 7:59 [PATCH rtw-next v4 0/3] wifi: rtl8xxxu: keep RX requests available across transient errors Kim Wooseok via B4 Relay
2026-09-21 7:59 ` [PATCH rtw-next v4 1/3] wifi: rtl8xxxu: free RX skb when URB submission fails Kim Wooseok via B4 Relay
2026-09-23 2:26 ` Ping-Ke Shih
2026-09-21 7:59 ` [PATCH rtw-next v4 2/3] wifi: rtl8xxxu: unwind incomplete receive startup Kim Wooseok via B4 Relay
2026-09-21 7:59 ` [PATCH rtw-next v4 3/3] wifi: rtl8xxxu: preserve RX requests across recoverable transfer errors Kim Wooseok via B4 Relay
2026-09-22 2:54 ` Ping-Ke Shih [this message]
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=774ea22c4a7d4509990197d1fe795b08@realtek.com \
--to=pkshih@realtek.com \
--cc=5mghybrid@khu.ac.kr \
--cc=Jes.Sorensen@gmail.com \
--cc=kvalo@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®