[PATCH rtw-next 2/3] wifi: rtlwifi: convert pci ID if-statement to table

From: William Hansen-Baird

Date: Sun Jun 14 2026 - 09:56:23 EST


Refactor the ASUSTek quirk logic from an if-statement to a standard
pci_device_id table. This allows future devices with the same quirk
to be added more easily and avoiding a large if-chain.

Signed-off-by: William Hansen-Baird <william.hansen.baird@xxxxxxxxx>
---
drivers/net/wireless/realtek/rtlwifi/pci.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
index 4ef1faf649e9..03b743809258 100644
--- a/drivers/net/wireless/realtek/rtlwifi/pci.c
+++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
@@ -31,6 +31,11 @@ static const u8 ac_to_hwq[] = {
BK_QUEUE
};

+static const struct pci_device_id rtl8723be_aspm_quirks[] = {
+ { PCI_DEVICE_SUB(PCI_ANY_ID, PCI_ANY_ID, 0x11ad, 0x1723) },
+ { 0 }
+};
+
static u8 _rtl_mac_to_hwqueue(struct ieee80211_hw *hw, struct sk_buff *skb)
{
struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
@@ -327,14 +332,12 @@ static void rtl_pci_init_aspm(struct ieee80211_hw *hw)

_rtl_pci_update_default_setting(hw);

- /* RTL8723BE found on some ASUSTek laptops, such as F441U and
- * X555UQ with subsystem ID 11ad:1723 are known to output large
+ /* RTL8723BE with certain subsytem IDs are known to output large
* amounts of PCIe AER errors during and after boot up, causing
* heavy lags, poor network throughput, and occasional lock-ups.
*/
if (rtlpriv->rtlhal.hw_type == HARDWARE_TYPE_RTL8723BE &&
- (rtlpci->pdev->subsystem_vendor == 0x11ad &&
- rtlpci->pdev->subsystem_device == 0x1723)) {
+ pci_match_id(rtl8723be_aspm_quirks, rtlpci->pdev)) {
rtl_pci_disable_aspm(hw);
ppsc->support_aspm = false;
}
--
2.54.0