[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