Re: [PATCH] wifi: ath11k: Add quirk entry for Thinkpad T14s Gen3 AMD
Takashi Iwai <[email protected]>
| Newsgroups | org.infradead.lists.ath11k,org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 25 Nov 2025 08:25:12 +0100, Baochen Qiang wrote: > > > > On 11/25/2025 2:57 PM, Takashi Iwai wrote: > > On Tue, 25 Nov 2025 03:28:22 +0100, > > Baochen Qiang wrote: > >> > >> > >> > >> 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? > > > > I can't say exactly, but usually after some hours. I see it happening > > when the machine is resumed in the morning after an overnight sleep. > > Short suspends can resume mostly, as far as I tested. > > > >>> (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. > > > > Yes, I wonder that, too. The whole suspend/resume procedure look > > fairly different with PM WoW quirk, so some of them might matter. > > > >>> Link: https://bugzilla.suse.com/show_bug.cgi?id=1254181 > >>> Signed-off-by: Takashi Iwai <[email protected]> > >>> --- > >>> > >>> 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? > > > > Right, the connection gets resumed properly. > > > >>> { > >>> .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 > > > > OK, I'll try to get the log (in tomorrow morning :) > > > > Meanwhile, the PM WoW quirk looks fine for this Thinkpad model, I see > > no other regression with the quirk. As a stop gap, would it be > > acceptable? If yes, I'll resubmit with the entry of another Gen 3 > > model Mark suggested. > > I would suggest you waiting before we root cause, or at least before logs are collected > and investigated. Then let's see what we do next. OK, fair enough. Takashi