[PATCH rtw-next] wifi: rtlwifi: disable ASPM for RTL8723BE with subsystem ID 11ad:1723

Mingcong Bai posted 1 patch 7 months, 3 weeks ago
There is a newer version of this series
drivers/net/wireless/realtek/rtlwifi/pci.c | 10 ++++++++++
1 file changed, 10 insertions(+)
[PATCH rtw-next] wifi: rtlwifi: disable ASPM for RTL8723BE with subsystem ID 11ad:1723
Posted by Mingcong Bai 7 months, 3 weeks ago
RTL8723BE found on some ASUSTek laptops, such as F441U and X555UQ with
subsystem ID 11ad:1723 are known to output large amounts of PCIe AER
errors during and after boot up, causing heavy lags and at times lock-ups:

  pcieport 0000:00:1c.5: AER: Correctable error message received from 0000:00:1c.5
  pcieport 0000:00:1c.5: PCIe Bus Error: severity=Correctable, type=Physical Layer, (Receiver ID)
  pcieport 0000:00:1c.5:   device [8086:9d15] error status/mask=00000001/00002000
  pcieport 0000:00:1c.5:    [ 0] RxErr

Disable ASPM on this combo as a quirk.

This patch is a revision of a previous patch (linked below) which
attempted to disable ASPM for RTL8723BE on all Intel Skylake and Kaby Lake
PCIe bridges. I take a more conservative approach as all known reports
point to ASUSTek laptops of these two generations with this particular
wireless card.

Please note, however, before the rtl8723be finishes probing, the AER
errors remained. After the module finishes probing, all AER errors would
indeed be eliminated, along with heavy lags, poor network throughput,
and/or occasional lock-ups.

Cc: <stable@vger.kernel.org>
Fixes: 0c8173385e54 ("rtl8192ce: Add new driver")
Reported-by: Liangliang Zou <rawdiamondmc@outlook.com>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=218127
Link: https://lore.kernel.org/lkml/05390e0b-27fd-4190-971e-e70a498c8221@lwfinger.net/T/
Tested-by: Liangliang Zou <rawdiamondmc@outlook.com>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
---
 drivers/net/wireless/realtek/rtlwifi/pci.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
index 0eafc4d125f9..898f597f70a9 100644
--- a/drivers/net/wireless/realtek/rtlwifi/pci.c
+++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
@@ -155,6 +155,16 @@ static void _rtl_pci_update_default_setting(struct ieee80211_hw *hw)
 	    ((u8)init_aspm) == (PCI_EXP_LNKCTL_ASPM_L0S |
 				PCI_EXP_LNKCTL_ASPM_L1 | PCI_EXP_LNKCTL_CCC))
 		ppsc->support_aspm = false;
+
+	/* RTL8723BE found on some ASUSTek laptops, such as F441U and
+	 * X555UQ with subsystem ID 11ad:1723 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))
+		ppsc->support_aspm = false;
 }
 
 static bool _rtl_pci_platform_switch_device_pci_aspm(
-- 
2.49.0
RE: [PATCH rtw-next] wifi: rtlwifi: disable ASPM for RTL8723BE with subsystem ID 11ad:1723
Posted by Ping-Ke Shih 7 months, 3 weeks ago
Mingcong Bai <jeffbai@aosc.io> wrote:
> 
> RTL8723BE found on some ASUSTek laptops, such as F441U and X555UQ with
> subsystem ID 11ad:1723 are known to output large amounts of PCIe AER
> errors during and after boot up, causing heavy lags and at times lock-ups:
> 
>   pcieport 0000:00:1c.5: AER: Correctable error message received from 0000:00:1c.5
>   pcieport 0000:00:1c.5: PCIe Bus Error: severity=Correctable, type=Physical Layer, (Receiver ID)
>   pcieport 0000:00:1c.5:   device [8086:9d15] error status/mask=00000001/00002000
>   pcieport 0000:00:1c.5:    [ 0] RxErr
> 
> Disable ASPM on this combo as a quirk.
> 
> This patch is a revision of a previous patch (linked below) which
> attempted to disable ASPM for RTL8723BE on all Intel Skylake and Kaby Lake
> PCIe bridges. I take a more conservative approach as all known reports
> point to ASUSTek laptops of these two generations with this particular
> wireless card.
> 
> Please note, however, before the rtl8723be finishes probing, the AER
> errors remained. After the module finishes probing, all AER errors would
> indeed be eliminated, along with heavy lags, poor network throughput,
> and/or occasional lock-ups.
> 
> Cc: <stable@vger.kernel.org>
> Fixes: 0c8173385e54 ("rtl8192ce: Add new driver")

This Fixes is weird to me. The subject is RTL8192CE, but you are adding this
for RTL8723BE. More, at that time, HARDWARE_TYPE_RTL8723BE isn't defined yet.

This might be more suitable?

Fixes: a619d1abe20c ("rtlwifi: rtl8723be: Add new driver")

> Reported-by: Liangliang Zou <rawdiamondmc@outlook.com>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=218127
> Link: https://lore.kernel.org/lkml/05390e0b-27fd-4190-971e-e70a498c8221@lwfinger.net/T/
> Tested-by: Liangliang Zou <rawdiamondmc@outlook.com>
> Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
> ---
>  drivers/net/wireless/realtek/rtlwifi/pci.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
> index 0eafc4d125f9..898f597f70a9 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/pci.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
> @@ -155,6 +155,16 @@ static void _rtl_pci_update_default_setting(struct ieee80211_hw *hw)
>             ((u8)init_aspm) == (PCI_EXP_LNKCTL_ASPM_L0S |
>                                 PCI_EXP_LNKCTL_ASPM_L1 | PCI_EXP_LNKCTL_CCC))
>                 ppsc->support_aspm = false;
> +
> +       /* RTL8723BE found on some ASUSTek laptops, such as F441U and
> +        * X555UQ with subsystem ID 11ad:1723 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))
> +               ppsc->support_aspm = false;
>  }
> 
>  static bool _rtl_pci_platform_switch_device_pci_aspm(
> --
> 2.49.0
> 
Re: [PATCH rtw-next] wifi: rtlwifi: disable ASPM for RTL8723BE with subsystem ID 11ad:1723
Posted by Mingcong Bai 7 months, 3 weeks ago
Hi Ping-ke,

在 2025/4/22 14:08, Ping-Ke Shih 写道:
> Mingcong Bai <jeffbai@aosc.io> wrote:
>>
>> RTL8723BE found on some ASUSTek laptops, such as F441U and X555UQ with
>> subsystem ID 11ad:1723 are known to output large amounts of PCIe AER
>> errors during and after boot up, causing heavy lags and at times lock-ups:
>>
>>    pcieport 0000:00:1c.5: AER: Correctable error message received from 0000:00:1c.5
>>    pcieport 0000:00:1c.5: PCIe Bus Error: severity=Correctable, type=Physical Layer, (Receiver ID)
>>    pcieport 0000:00:1c.5:   device [8086:9d15] error status/mask=00000001/00002000
>>    pcieport 0000:00:1c.5:    [ 0] RxErr
>>
>> Disable ASPM on this combo as a quirk.
>>
>> This patch is a revision of a previous patch (linked below) which
>> attempted to disable ASPM for RTL8723BE on all Intel Skylake and Kaby Lake
>> PCIe bridges. I take a more conservative approach as all known reports
>> point to ASUSTek laptops of these two generations with this particular
>> wireless card.
>>
>> Please note, however, before the rtl8723be finishes probing, the AER
>> errors remained. After the module finishes probing, all AER errors would
>> indeed be eliminated, along with heavy lags, poor network throughput,
>> and/or occasional lock-ups.
>>
>> Cc: <stable@vger.kernel.org>
>> Fixes: 0c8173385e54 ("rtl8192ce: Add new driver")
> 
> This Fixes is weird to me. The subject is RTL8192CE, but you are adding this
> for RTL8723BE. More, at that time, HARDWARE_TYPE_RTL8723BE isn't defined yet.
> 
> This might be more suitable?
> 
> Fixes: a619d1abe20c ("rtlwifi: rtl8723be: Add new driver")

True. Sending v2.

Best Regards,
Mingcong Bai