From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Zenm Chen <zenmchen@gmail.com>, Ping-Ke Shih <pkshih@realtek.com>,
Sasha Levin <sashal@kernel.org>,
linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH AUTOSEL 7.0-6.19] wifi: rtw89: Add support for TP-Link Archer TX50U
Date: Mon, 20 Apr 2026 09:17:43 -0400 [thread overview]
Message-ID: <20260420132314.1023554-69-sashal@kernel.org> (raw)
In-Reply-To: <20260420132314.1023554-1-sashal@kernel.org>
From: Zenm Chen <zenmchen@gmail.com>
[ Upstream commit 6678828eb78f3ae0bc6db90436068d5fd0387703 ]
Add the ID 37ad:0103 to the table to support an additional RTL8832CU
adapter: TP-Link Archer TX50U.
Link: https://github.com/morrownr/rtl8852cu-20251113/issues/2
Signed-off-by: Zenm Chen <zenmchen@gmail.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260320093122.6754-1-zenmchen@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
Now I have a clear picture. Let me compile the full analysis.
---
## PHASE 1: COMMIT MESSAGE FORENSICS
### Step 1.1: PARSE THE SUBJECT LINE
- **Subsystem**: `wifi: rtw89:`
- **Action verb**: "Add support for" (device ID addition)
- **Summary**: Adding USB device ID 37ad:0103 for TP-Link Archer TX50U
(RTL8832CU adapter)
### Step 1.2: PARSE ALL COMMIT MESSAGE TAGS
- **Link**: https://github.com/morrownr/rtl8852cu-20251113/issues/2
(GitHub issue confirming user tested the ID)
- **Signed-off-by**: Zenm Chen <zenmchen@gmail.com> (author)
- **Signed-off-by**: Ping-Ke Shih <pkshih@realtek.com> (subsystem
maintainer - Realtek rtw89 driver)
- **Link**:
https://patch.msgid.link/20260320093122.6754-1-zenmchen@gmail.com
(lore submission)
- No Fixes: tag (expected for device ID additions), no Reported-by, no
Cc: stable.
### Step 1.3: ANALYZE THE COMMIT BODY TEXT
The commit body is straightforward: add USB ID 37ad:0103 to the existing
rtw_8852cu_id_table to enable the TP-Link Archer TX50U, which uses the
RTL8832CU chipset. The GitHub issue link confirms a real user verified
the device works with this ID.
### Step 1.4: DETECT HIDDEN BUG FIXES
This is not a hidden bug fix. It is a pure USB device ID addition. This
falls squarely into the **DEVICE ID EXCEPTION** category for stable
backports.
## PHASE 2: DIFF ANALYSIS - LINE BY LINE
### Step 2.1: INVENTORY THE CHANGES
- **Files changed**: 1
(`drivers/net/wireless/realtek/rtw89/rtw8852cu.c`)
- **Lines added**: 2 (one USB_DEVICE_AND_INTERFACE_INFO entry +
driver_info)
- **Lines removed**: 0
- **Functions modified**: None - only the `rtw_8852cu_id_table[]` static
const array
- **Scope**: Single-file, trivial addition to a static USB ID table
### Step 2.2: UNDERSTAND THE CODE FLOW CHANGE
- **Before**: The `rtw_8852cu_id_table` contains 8 USB vendor/product ID
entries
- **After**: The table contains 9 entries, with `{0x37ad, 0x0103}` added
before the sentinel
- The entry uses the exact same `rtw89_8852cu_info` driver_info as all
other entries
- This only affects USB device enumeration: when a device with
vendor=0x37ad product=0x0103 is plugged in, the kernel will now bind
the rtw89_8852cu driver to it
### Step 2.3: IDENTIFY THE BUG MECHANISM
Category: **Hardware enablement (Device ID addition)**. The TP-Link
Archer TX50U uses the RTL8832CU chipset which is fully supported by the
existing driver. Without this ID, the device simply isn't recognized and
doesn't bind to the driver.
### Step 2.4: ASSESS THE FIX QUALITY
- **Obviously correct**: Yes - identical pattern to all other entries in
the table
- **Minimal/surgical**: Yes - 2 lines, only touches the ID table
- **Regression risk**: Effectively zero. Adding a USB ID cannot affect
existing IDs or any other code path. The entry only matches one
specific vendor/product pair.
## PHASE 3: GIT HISTORY INVESTIGATION
### Step 3.1: BLAME THE CHANGED LINES
- The file was created in commit `406849000df41` by Bitterblue Smith on
2025-11-01
- One additional USB ID was added by commit `5f65ebf9aaf00` (Shin-Yi
Lin, 2026-01-14)
- The driver is relatively new but fully functional in v7.0
### Step 3.2: FOLLOW THE FIXES: TAG
No Fixes: tag - expected for a device ID addition.
### Step 3.3: CHECK FILE HISTORY FOR RELATED CHANGES
Only 2 commits in the file's history - the initial creation and one
prior ID addition. No complex refactoring.
### Step 3.4: CHECK THE AUTHOR'S OTHER COMMITS
Zenm Chen is a repeat contributor who adds USB device IDs to Realtek
wireless drivers (rtw89, rtw88, rtl8xxxu) and Bluetooth (btusb). All
their commits follow the same pattern of device ID additions. The patch
is signed off by Ping-Ke Shih, the Realtek rtw89 subsystem maintainer.
### Step 3.5: CHECK FOR DEPENDENT/PREREQUISITE COMMITS
No dependencies. The driver already exists with its full infrastructure.
This is a standalone ID table addition.
## PHASE 4: MAILING LIST AND EXTERNAL RESEARCH
### Step 4.1: FIND THE ORIGINAL PATCH DISCUSSION
Lore is behind anti-bot protection so direct fetch failed. The GitHub
issue (successfully fetched) at
https://github.com/morrownr/rtl8852cu-20251113/issues/2 confirms a real
user (@wd5gnr) tested the TP-Link Archer TX50U adapter and confirmed it
works with ID 37ad:0103. The user also wrote a Hackaday article about
the experience.
### Step 4.2: CHECK WHO REVIEWED THE PATCH
Signed-off-by from Ping-Ke Shih (pkshih@realtek.com) - the Realtek rtw89
maintainer. Appropriate review for this type of change.
### Step 4.3-4.5: BUG REPORT / RELATED PATCHES / STABLE DISCUSSION
The GitHub issue serves as the effective "report" - a user found their
adapter wasn't recognized. No prior stable discussion found.
## PHASE 5: CODE SEMANTIC ANALYSIS
### Step 5.1-5.4: FUNCTION ANALYSIS
No functions are modified. The change is a static data table addition.
The ID table is consumed by the USB core during device enumeration to
match devices to drivers. The probe path (`rtw89_usb_probe`) is already
exercised by all 8 existing IDs and is well-tested.
### Step 5.5: SIMILAR PATTERNS
The author (Zenm Chen) has contributed many identical ID additions to
rtw89 and other Realtek drivers. The previous commit `5f65ebf9aaf00`
follows the exact same pattern for the same file.
## PHASE 6: CROSS-REFERENCING AND STABLE TREE ANALYSIS
### Step 6.1: DOES THE BUGGY CODE EXIST IN STABLE TREES?
Verified: The file exists in v7.0 (which is HEAD = the current stable
tree). The v7.0 tree has `rtw8852cu.c` with 8 USB IDs. The new ID would
be the 9th.
### Step 6.2: CHECK FOR BACKPORT COMPLICATIONS
The patch will apply cleanly. The v7.0 file already has the 28de:2432 ID
that was added after initial creation, and the new 37ad:0103 entry goes
right before the sentinel `{}`. No conflicts expected.
### Step 6.3: CHECK IF RELATED FIXES ARE ALREADY IN STABLE
No related fix for this specific USB ID exists.
## PHASE 7: SUBSYSTEM AND MAINTAINER CONTEXT
### Step 7.1: IDENTIFY THE SUBSYSTEM AND ITS CRITICALITY
- **Subsystem**: WiFi drivers (drivers/net/wireless/realtek/rtw89)
- **Criticality**: IMPORTANT - USB WiFi adapters are widely used,
especially by Linux users who buy them specifically for Linux support
### Step 7.2: ASSESS SUBSYSTEM ACTIVITY
The rtw89 subsystem is actively developed with recent commits visible.
## PHASE 8: IMPACT AND RISK ASSESSMENT
### Step 8.1: DETERMINE WHO IS AFFECTED
Users of the TP-Link Archer TX50U USB WiFi adapter. This is a
commercially available, retail WiFi adapter from a major brand.
### Step 8.2: DETERMINE THE TRIGGER CONDITIONS
Without this ID, plugging in the adapter simply does nothing - the
device is not recognized by any driver.
### Step 8.3: DETERMINE THE FAILURE MODE SEVERITY
Without the fix: **Device non-functional** - the adapter cannot be used
at all. With the fix: device works immediately on plug-in. Severity:
HIGH for affected users (complete loss of WiFi functionality for their
hardware).
### Step 8.4: CALCULATE RISK-BENEFIT RATIO
- **BENEFIT**: HIGH - enables a commercially available WiFi adapter for
users who own it
- **RISK**: NEGLIGIBLE - 2-line static data addition, cannot affect any
other device or code path
- **Ratio**: Overwhelmingly favorable
## PHASE 9: FINAL SYNTHESIS
### Step 9.1: COMPILE THE EVIDENCE
**FOR backporting:**
- Classic USB device ID addition - explicitly called out as a stable
exception category
- 2-line change, zero regression risk
- Enables a real, commercially available TP-Link WiFi adapter
- Confirmed working by a real user (GitHub issue)
- Reviewed/signed-off by subsystem maintainer (Ping-Ke Shih)
- Driver already exists in v7.0 stable tree
- Will apply cleanly
- Author has a track record of identical, successful ID additions
**AGAINST backporting:**
- (none identified)
### Step 9.2: APPLY THE STABLE RULES CHECKLIST
1. Obviously correct and tested? **YES** - identical to all other
entries, user-tested
2. Fixes a real bug? **YES** - enables hardware that should work but
doesn't
3. Important issue? **YES** - without it, the adapter is completely non-
functional
4. Small and contained? **YES** - 2 lines in 1 file
5. No new features or APIs? **YES** - just a data addition to existing
infrastructure
6. Can apply to stable? **YES** - clean apply expected
### Step 9.3: CHECK FOR EXCEPTION CATEGORIES
**YES - Device ID addition to existing driver.** This is the textbook
example of the USB ID exception category.
### Verification:
- [Phase 1] Parsed tags: Signed-off-by from Ping-Ke Shih (maintainer),
Link to GitHub issue and lore
- [Phase 2] Diff analysis: 2 lines added to static USB ID table in
`rtw8852cu.c`, adds {0x37ad, 0x0103}
- [Phase 3] git blame: file created in 406849000df41 (2025-11-01),
exists in v7.0
- [Phase 3] git show v7.0:rtw8852cu.c: confirmed file exists with 8 IDs
in v7.0 stable tree
- [Phase 3] git log --author: Zenm Chen contributes multiple identical
ID additions across Realtek drivers
- [Phase 4] GitHub issue #2: user @wd5gnr confirmed TX50U works with
this ID, linked Hackaday article
- [Phase 4] b4 dig on sibling commit 5f65ebf9aaf00: confirmed similar ID
additions go through the same maintainer
- [Phase 4] Lore direct access blocked by anti-bot protection (Anubis)
- [Phase 5] No functions modified - pure data table change; probe path
exercised by existing 8 IDs
- [Phase 6] v7.0 tag contains the file; patch applies cleanly (no
intervening changes to this section)
- [Phase 7] rtw89 is an actively maintained WiFi subsystem, TP-Link is a
major brand
- [Phase 8] Risk: negligible (2-line data addition); Benefit: enables
hardware for real users
**YES**
drivers/net/wireless/realtek/rtw89/rtw8852cu.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852cu.c b/drivers/net/wireless/realtek/rtw89/rtw8852cu.c
index a485dacbb0531..314ea7f0ba72d 100644
--- a/drivers/net/wireless/realtek/rtw89/rtw8852cu.c
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852cu.c
@@ -56,6 +56,8 @@ static const struct usb_device_id rtw_8852cu_id_table[] = {
.driver_info = (kernel_ulong_t)&rtw89_8852cu_info },
{ USB_DEVICE_AND_INTERFACE_INFO(0x35bc, 0x0102, 0xff, 0xff, 0xff),
.driver_info = (kernel_ulong_t)&rtw89_8852cu_info },
+ { USB_DEVICE_AND_INTERFACE_INFO(0x37ad, 0x0103, 0xff, 0xff, 0xff),
+ .driver_info = (kernel_ulong_t)&rtw89_8852cu_info },
{},
};
MODULE_DEVICE_TABLE(usb, rtw_8852cu_id_table);
--
2.53.0
next prev parent reply other threads:[~2026-04-20 13:25 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260420132314.1023554-1-sashal@kernel.org>
2026-04-20 13:16 ` [PATCH AUTOSEL 7.0-6.18] wifi: ath12k: Fix the assignment of logical link index Sasha Levin
2026-04-20 13:16 ` [PATCH AUTOSEL 7.0-6.12] wifi: rtw89: ser: Wi-Fi 7 reset HALT C2H after reading it Sasha Levin
2026-04-20 13:16 ` [PATCH AUTOSEL 7.0-5.10] wifi: rsi_91x_usb: do not pause rfkill polling when stopping mac80211 Sasha Levin
2026-04-20 13:16 ` [PATCH AUTOSEL 7.0-6.18] wifi: rtw88: add quirks to disable PCI ASPM and deep LPS for HP P3S95EA#ACB Sasha Levin
2026-04-20 13:16 ` [PATCH AUTOSEL 6.18] wifi: brcmfmac: validate bsscfg indices in IF events Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-6.6] wifi: mac80211: set band information only for non-MLD when probing stations using NULL frame Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-6.19] wifi: mt76: avoid to set ACK for MCU command if wait_resp is not set Sasha Levin
2026-04-20 13:17 ` Sasha Levin [this message]
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-6.1] wifi: mac80211: use ap_addr for 4-address NULL frame destination Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-6.18] wifi: ath12k: Set up MLO after SSR Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.18] wifi: iwlwifi: mld: always assign a fw id to a vif Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 6.18] wifi: wl1251: validate packet IDs before indexing tx_frames Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.18] wifi: mt76: flush pending TX before channel switch Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.6] wifi: mt76: fix list corruption in mt76_wcid_cleanup Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.12] wifi: mt76: add missing lock protection in mt76_sta_state for sta_event callback Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.18] wifi: mt76: mt7996: Disable Rx hdr_trans in monitor mode Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.18] wifi: iwlwifi: restrict TOP reset to some devices Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.12] wifi: mt76: mt7925: Skip scan process during suspend Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-5.10] wifi: mt76: mt76x02: wake queues after reconfig Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.12] wifi: mt76: mt7925: resolve link after acquiring mt76 mutex Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.19] wifi: rtw89: mac: remove A-die off setting for RTL8852C and RTL8922A Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.18] wifi: mt76: mt7996: fix queue pause after scan due to wrong channel switch reason Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.18] wifi: brcmfmac: of: defer probe for MAC address Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.19] wifi: rtw89: Add support for Buffalo WI-U3-2400XE2 Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.19] wifi: rtw89: Add support for Elecom WDC-XE2402TU3-B Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.6] wifi: mt76: mt7996: reset device after MCU message timeout Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-5.10] wifi: rtw88: TX QOS Null data the same way as Null data Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-6.18] wifi: rtw88: validate RX rate to prevent out-of-bound Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-6.18] wifi: ath12k: Skip adding inactive partner vdev info Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-6.18] wifi: mt76: mt7996: fix frequency separation for station STR mode Sasha Levin
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=20260420132314.1023554-69-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=pkshih@realtek.com \
--cc=stable@vger.kernel.org \
--cc=zenmchen@gmail.com \
/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