<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/wireless/realtek, branch master</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=master</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2026-04-07T14:20:55Z</updated>
<entry>
<title>Merge tag 'rtw-next-2026-04-02' of https://github.com/pkshih/rtw into wireless-next</title>
<updated>2026-04-07T14:20:55Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2026-04-07T14:20:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=aa5e9884a2d63aa20fc3396d369382c1ecd16109'/>
<id>urn:sha1:aa5e9884a2d63aa20fc3396d369382c1ecd16109</id>
<content type='text'>
Ping-Ke Shih says:
==================
rtw-next patches for -next

Improve MLO and some random fixes. Notable changes are:

 * drop usb device reference across drivers

rtw89:

 * add RTL8922DE but not enabled yet, because BT coexistence is still
   cooking.

 * add USB RX aggregation to improve performance.

 * add USB TX flow control by tracking in-flight URBs.
==================

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: rtw89: usb: fix TX flow control by tracking in-flight URBs</title>
<updated>2026-04-02T06:06:53Z</updated>
<author>
<name>Lucid Duck</name>
<email>lucid_duck@justthetip.ca</email>
</author>
<published>2026-04-02T05:22:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=80119a77e5b03747b8886505df1b3cb26f49168d'/>
<id>urn:sha1:80119a77e5b03747b8886505df1b3cb26f49168d</id>
<content type='text'>
rtw89_usb_ops_check_and_reclaim_tx_resource() returns a hardcoded
placeholder value (42) instead of actual TX resource availability.
This violates mac80211's flow control contract, preventing backpressure
and causing uncontrolled URB accumulation under sustained TX load.

Fix by adding per-channel atomic counters (tx_inflight[]) that track
in-flight URBs. Increment before usb_submit_urb() with rollback on
failure, decrement in the completion callback, and return the
remaining capacity to mac80211. The firmware command channel (CH12)
always returns 1 since it has its own flow control.

The pre-increment pattern prevents a race where USB core completes the
URB on another CPU before the submitting code increments the counter.

128 URBs per channel provides headroom for RTL8832CU at 160 MHz
bandwidth. Tested on RTL8852AU (USB3 80 MHz) where 64 and 128 showed
equivalent throughput, and on RTL8832AU where 128 sustained full
throughput under 8-stream parallel load.

Tested on D-Link DWA-X1850 (RTL8832AU), kernel 6.19.8, Fedora 43:

                     Unpatched -&gt; Patched (128 URBs)
  USB3 5GHz UL:      844 -&gt; 837 Mbps (no regression)
  USB3 5GHz retx:    3 -&gt; 0
  USB3 2.4GHz UL:    162 -&gt; 164 Mbps (no regression)
  4-stream UL:       858 -&gt; 826 Mbps (within variance)
  8-stream UL:       872 -&gt; 826 Mbps (within variance)
  UDP flood:         0% loss (690K datagrams)
  60-second soak:    855 Mbps, 0 retransmits

Reported-by: morrownr &lt;morrownr@gmail.com&gt;
Signed-off-by: Lucid Duck &lt;lucid_duck@justthetip.ca&gt;
Acked-by: Ping-Ke Shih &lt;pkshih@realtek.com&gt;
Signed-off-by: Ping-Ke Shih &lt;pkshih@realtek.com&gt;
Link: https://patch.msgid.link/20260402052216.207858-1-lucid_duck@justthetip.ca
</content>
</entry>
<entry>
<title>wifi: rtw89: Add support for Elecom WDC-XE2402TU3-B</title>
<updated>2026-04-02T03:57:16Z</updated>
<author>
<name>Zenm Chen</name>
<email>zenmchen@gmail.com</email>
</author>
<published>2026-03-30T09:34:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4e4fc2149b0a983670fd99bbd549012839bda79e'/>
<id>urn:sha1:4e4fc2149b0a983670fd99bbd549012839bda79e</id>
<content type='text'>
Add the ID 056e:4024 to the table to support an additional RTL8832CU
adapter: Elecom WDC-XE2402TU3-B.

Link: https://github.com/morrownr/rtw89/commit/55c059e2bd49acd5cf93edbc8eda7b9e042f4efd
Signed-off-by: Zenm Chen &lt;zenmchen@gmail.com&gt;
Signed-off-by: Ping-Ke Shih &lt;pkshih@realtek.com&gt;
Link: https://patch.msgid.link/20260330093440.3615-1-zenmchen@gmail.com
</content>
</entry>
<entry>
<title>wifi: rtw89: 8922d: add PCI ID of RTL8922DE and RTL8922DE-VS</title>
<updated>2026-04-02T03:23:15Z</updated>
<author>
<name>Ping-Ke Shih</name>
<email>pkshih@realtek.com</email>
</author>
<published>2026-03-30T06:58:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a16ca7d91e4eb37a4faf0a2d2b44603489021725'/>
<id>urn:sha1:a16ca7d91e4eb37a4faf0a2d2b44603489021725</id>
<content type='text'>
Add PCI ID tables with RTL8922DE whose ID is 10EC:895D, and with
RTL8922DE-VS whose ID are 10EC:892D and 10EC:882D. Also, add pci_info
struct to describe the hardware capabilities and registers accordingly.

Signed-off-by: Ping-Ke Shih &lt;pkshih@realtek.com&gt;
Link: https://patch.msgid.link/20260330065847.48946-10-pkshih@realtek.com
</content>
</entry>
<entry>
<title>wifi: rtw89: 8922d: add chip_info and chip_ops struct</title>
<updated>2026-04-02T03:21:40Z</updated>
<author>
<name>Ping-Ke Shih</name>
<email>pkshih@realtek.com</email>
</author>
<published>2026-03-30T06:58:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0737a803bae462e69ef030dc9d050a29c1d6d265'/>
<id>urn:sha1:0737a803bae462e69ef030dc9d050a29c1d6d265</id>
<content type='text'>
Add remaining functions including calculate RX gain for power saving,
channel frequency and RSSI from PPDU status, and WoWLAN declaration.
Then fill chip_info and chip_ops tables, which RTL8922D has two variants
RTL8922D and RTL8922DS supporting 4096 and 1024 QAM respectively. Other
features, such as support of 2/5/6 GHz and up to 160 MHz bandwidth, for
variants are the same,

Signed-off-by: Ping-Ke Shih &lt;pkshih@realtek.com&gt;
Link: https://patch.msgid.link/20260330065847.48946-9-pkshih@realtek.com
</content>
</entry>
<entry>
<title>wifi: rtw89: 8922d: add ops related to BT coexistence mechanism</title>
<updated>2026-04-02T03:20:07Z</updated>
<author>
<name>Ping-Ke Shih</name>
<email>pkshih@realtek.com</email>
</author>
<published>2026-03-30T06:58:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=553fd44ce8ce3caccf580aa8286d8c211fea2a4a'/>
<id>urn:sha1:553fd44ce8ce3caccf580aa8286d8c211fea2a4a</id>
<content type='text'>
The ops is used by shared BT coexistence mechanism to set WiFi TX power,
get BT RSSI, and TX/RX parameters.

The RTL8922D uses TX/RX parameter v9, so define it and fill NULL for
other chips.

Signed-off-by: Ping-Ke Shih &lt;pkshih@realtek.com&gt;
Link: https://patch.msgid.link/20260330065847.48946-8-pkshih@realtek.com
</content>
</entry>
<entry>
<title>wifi: rtw89: 8922d: add RF ops of init hardware and get thermal</title>
<updated>2026-04-02T03:18:40Z</updated>
<author>
<name>Ping-Ke Shih</name>
<email>pkshih@realtek.com</email>
</author>
<published>2026-03-30T06:58:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9c2f79b4d912dc96bbe5b4dadccd1099d430436d'/>
<id>urn:sha1:9c2f79b4d912dc96bbe5b4dadccd1099d430436d</id>
<content type='text'>
One is to initialize hardware for RF circuit, and the ops of get thermal
is used to monitor temperature to re-calibrate RF or reduce TX duty to
prevent overheating.

Signed-off-by: Ping-Ke Shih &lt;pkshih@realtek.com&gt;
Link: https://patch.msgid.link/20260330065847.48946-7-pkshih@realtek.com
</content>
</entry>
<entry>
<title>wifi: rtw89: 8922d: configure TX/RX path assisting in BT coexistence</title>
<updated>2026-04-02T03:17:12Z</updated>
<author>
<name>Ping-Ke Shih</name>
<email>pkshih@realtek.com</email>
</author>
<published>2026-03-30T06:58:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2b19199952e6f2d6fbddd20c81d48180e98a3c3e'/>
<id>urn:sha1:2b19199952e6f2d6fbddd20c81d48180e98a3c3e</id>
<content type='text'>
The BT coexistence mechanism needs to control TX/RX path to co-work with
BT well, and these helpers are provided by BB to configure path.

Signed-off-by: Ping-Ke Shih &lt;pkshih@realtek.com&gt;
Link: https://patch.msgid.link/20260330065847.48946-6-pkshih@realtek.com
</content>
</entry>
<entry>
<title>wifi: rtw89: 8922d: add set TX power callback</title>
<updated>2026-04-02T03:15:48Z</updated>
<author>
<name>Ping-Ke Shih</name>
<email>pkshih@realtek.com</email>
</author>
<published>2026-03-30T06:58:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=baa6ea4e5e034c59fd8899d200ead348e148ea06'/>
<id>urn:sha1:baa6ea4e5e034c59fd8899d200ead348e148ea06</id>
<content type='text'>
Set TX power depends on operating channel. The Tx power factors are data
rate, channel, bandwidth and etc. Also, consider SAR as a factor of TX
power limit.

Signed-off-by: Ping-Ke Shih &lt;pkshih@realtek.com&gt;
Link: https://patch.msgid.link/20260330065847.48946-5-pkshih@realtek.com
</content>
</entry>
<entry>
<title>wifi: rtw89: 8922d: add RF calibration ops</title>
<updated>2026-04-02T03:14:20Z</updated>
<author>
<name>Ping-Ke Shih</name>
<email>pkshih@realtek.com</email>
</author>
<published>2026-03-30T06:58:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2ef4363f1388258f8073cd38d2ba059963f25fcf'/>
<id>urn:sha1:2ef4363f1388258f8073cd38d2ba059963f25fcf</id>
<content type='text'>
The chips ops related to RF calibration include init, init_late, channel,
band_change, scan, and track. The init_late is similar to init, but HCI
is ready, so receiving C2H event is possible. The ops channel is the main
function that do all RF calibration on operating channel.

The ops band_change and scan are to reset RF calibration because channel is
switching at these moment, we need to reset RF state. The ops track is to
monitor temperature to check if re-calibrate RF again.

Signed-off-by: Ping-Ke Shih &lt;pkshih@realtek.com&gt;
Link: https://patch.msgid.link/20260330065847.48946-4-pkshih@realtek.com
</content>
</entry>
</feed>
