[PATCH] wifi: ath11k: Add quirk entry for Thinkpad T14s Gen3 AMD
Baochen Qiang
baochen.qiang at oss.qualcomm.com
Mon Nov 24 18:28:22 PST 2025
On 11/24/2025 9:47 PM, Takashi Iwai wrote:
> The recent kernels showed a regression wrt suspend/resume on Lenovo
> Thinkpad T14s Gen 3 AMD model; it fails to reconnect on resume after a
> long time sleep. The only workaround was to unload/reload the driver
how long? and with a short suspend you don't see the issue?
> (or reboot).
>
> It seems that this model also requires the similar quirk with
> ATH11K_PM_WOW which has been done for other Thinkpad models.
the quirk is to workaround the unexpected wakeup issue, which seems not the same with
yours. Hence not sure if this is the right fix.
>
> Link: https://bugzilla.suse.com/show_bug.cgi?id=1254181
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> ---
>
> I'm not sure whether this model has another DMI entry, so put Mark to
> Cc.
>
> Also, I wonder which Thinkpad models are rather the ones that should
> *not* take the quirk. Since mine is Gen 3 and I already see Gen 2
> entries, which else remaining...?
>
>
> drivers/net/wireless/ath/ath11k/core.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath11k/core.c b/drivers/net/wireless/ath/ath11k/core.c
> index 812686173ac8..3aa78a39394b 100644
> --- a/drivers/net/wireless/ath/ath11k/core.c
> +++ b/drivers/net/wireless/ath/ath11k/core.c
> @@ -924,6 +924,13 @@ static const struct dmi_system_id ath11k_pm_quirk_table[] = {
> DMI_MATCH(DMI_PRODUCT_NAME, "21J4"),
> },
> },
> + {
> + .driver_data = (void *)ATH11K_PM_WOW,
> + .matches = { /* T14s G3 AMD */
> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "21CR"),
> + },
> + },
so with the change, the issue is not seen after a __long__ suspend?
> {
> .driver_data = (void *)ATH11K_PM_WOW,
> .matches = { /* T14 G4 AMD #1 */
Hmm, I am feeling that we need to dig more to root cause this issue. Can you please help
to collect verbose wpa_supplicant/iwd log and kernel log?
wpa_supplicant:
cd /lib/systemd/system
diff --git a/wpa_supplicant.service b/wpa_supplicant.service
index d5c7ef8..69693d0 100644
--- a/wpa_supplicant.service
+++ b/wpa_supplicant.service
@@ -5,7 +5,8 @@ Before=network.target
[Service]
Type=dbus
BusName=fi.epitest.hostap.WPASupplicant
-ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
+ExecStart=/sbin/wpa_supplicant -u -s -t -f/var/log/wpa_supplicant.log -dd -O
/run/wpa_supplicant
IWD:
simply add '-d' option when starting it. You may directly add it to the systemd service
entry if you like. See
https://archive.kernel.org/oldwiki/iwd.wiki.kernel.org/debugging.html
More information about the ath11k
mailing list