[PATCH v2] wifi: rtw88: disable ASPM for Lenovo IdeaPad S340-14IWL

Ata İlhan Köktürk <[email protected]>
Newsgroups org.kernel.vger.linux-wireless,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
The Lenovo IdeaPad S340-14IWL (DMI product name "81N4") experiences
severe connectivity issues with the Realtek 8822BE rtw88 PCIe
wireless card when ASPM is enabled. Reported symptoms include
frequent disconnections, cannot resume after sleep, kernel panics,
and the driver failing to load time to time.

The issue can be worked around by either adding pci=noaspm to the
kernel command line or by reloading the driver with disable_aspm=1
via modprobe. Add a DMI quirk to disable ASPM automatically for
this device.

Signed-off-by: Ata İlhan Köktürk <[email protected]>
---
 drivers/net/wireless/realtek/rtw88/pci.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c
index a30467228..4befc0eeb 100644
--- a/drivers/net/wireless/realtek/rtw88/pci.c
+++ b/drivers/net/wireless/realtek/rtw88/pci.c
@@ -1779,6 +1779,15 @@ static const struct dmi_system_id rtw_pci_quirks[] = {
 		.driver_data = (void *)(BIT(QUIRK_DIS_CAP_PCI_ASPM) |
 					BIT(QUIRK_DIS_CAP_LPS_DEEP)),
 	},
+	{
+		.callback = rtw_pci_disable_caps,
+		.ident = "Lenovo IdeaPad S340-14IWL",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "81N4"),
+		},
+		.driver_data = (void *)BIT(QUIRK_DIS_CAP_PCI_ASPM),
+	},
 	{}
 };
 
-- 
2.55.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.