[PATCH v2] wifi: ath11k: Add two missing Lenovo IDs to the quirk table
Kyle Farnung
kfarnung at gmail.com
Wed May 13 22:01:35 PDT 2026
On Wed, May 13, 2026 at 10:57 AM Santiago Ruano Rincón
<santiagorr at riseup.net> wrote:
>
> El 12/05/26 a las 20:30, Kyle Farnung escribió:
> > On Tue, May 12, 2026 at 5:03 PM Jeff Johnson
> > <jeff.johnson at oss.qualcomm.com> wrote:
> > >
> > > On 5/6/2026 12:54 PM, Santiago Ruano Rincón wrote:
> > > > Commit 0eb002c93c3b4 ("wifi: ath11k: Add missing platform IDs for quirk
> > > > table") added some Lenovo platform IDs to the quirk table to address a
> > > > wakeup from suspend issue [1]. However, at least P14s Gen 5 AMD, as
> > > > reported by Kyle Farnung [2], and P14s Gen 3 AMD are missing in the
> > > > table. This commit adds the two corresponding Lenovo version IDs for
> > > > each.
> > > >
> > > > [1] https://bugzilla.kernel.org/show_bug.cgi?id=219196
> > > > [2] https://bugzilla.kernel.org/show_bug.cgi?id=219196#c23
> > > >
> > > > Tested-on: P14s G3 AMD running 7.0.3.
> > > >
> > > > Fixes: ce8669a27016 ("wifi: ath11k: determine PM policy based on machine model")
> > > > Co-authored-by: Kyle Farnung <kfarnung at gmail.com>
> > >
> > > This is not a standard Linux kernel commit tag.
> > > Co-developed-by: could be used, but I'd need a Signed-off-by: from Kyle
> > >
> > > Kyle, if you'd like these added please reply with both a Co-developed-by and
> > > a Signed-off-by tag
> >
> > I re-tested the bug behavior on the v7.0.4 tag and found that I'm not able
> > to reproduce it on my device. I put the device to sleep and then unplugged
> > and replugged power; it never woke up until I intentionally woke it.
> >
> > Based on discussion in [3], I narrowed my issue with wi-fi disassociation
> > on wake to a suspect commit [4]. I'm developing a patch that clears the rdp
> > and wrp buffers during wake to clear out any stale state in the LMAC rings.
> > I'll submit that once I'm done testing it.
> >
> > Santiago: Are you seeing the sleep/wake bug from [1] or something similar
> > to what I was seeing around disconnections on wake?
>
> I was seeing wifi issues after wake-up, including disassociations, as
> described at https://bugs.debian.org/1132343.
Thanks for the confirmation. I went ahead and submitted a patch for the
suspected SRNG restart issue in [5].
For my P14s Gen 5 AMD, I don't think the PM quirk is the right fix at
this point, so please don't include the 21ME/21MF IDs on my account for
now. This new patch seems like a better match for the disassociation
issue I was seeing after resume.
Please try it out if you have a chance. I've done around 12 sleep/wake
cycles so far without issue.
[5] https://lore.kernel.org/all/20260513-kfarnung-ath11k-srng-clear-pointer-state-v1-1-bc700dd8b333@gmail.com/
>
> >
> > [3] https://lore.kernel.org/all/CAOPSVF04q6uvVdq8GTRLHBrVMdpt9=o9wVcFMc6f-yhmSBcZqQ@mail.gmail.com/
> > [4] 32be3ca4cf78b ("wifi: ath11k: HAL SRNG: don't deinitialize and
> > re-initialize again")
> >
> > >
> > > I can apply these fixes when I process the patch in my tree.
> > >
> > > https://www.kernel.org/doc/html/latest/process/submitting-patches.html#when-to-use-acked-by-cc-and-co-developed-by
> > >
> > > > Signed-off-by: Santiago Ruano Rincón <santiagorr at riseup.net>
> > > > ---
> > > > Changes in v2:
> > > > - Merged the Lenovo P14s G5 AMD #1 and #2 related changes proposed by
> > > > Kyle Farnung in
> > > > https://lore.kernel.org/all/20260330-p14s-pm-quirk-v2-1-ef18ce07996b@gmail.com/
> > > > - Added Kyle Farnung as Co-author of the commit
> > > > - Added the second ID of Lenovo P14s G3 AMD, and adapt the comments
> > > > accordingly
> > > > - v1: https://lore.kernel.org/ath11k/20260423211458.458911-1-santiagorr@riseup.net/
> > > > ---
> > > > drivers/net/wireless/ath/ath11k/core.c | 28 ++++++++++++++++++++++++++
> > > > 1 file changed, 28 insertions(+)
> > > >
> > > > diff --git a/drivers/net/wireless/ath/ath11k/core.c b/drivers/net/wireless/ath/ath11k/core.c
> > > > index 3f6f4db5b7ee..c1ce0a11af44 100644
> > > > --- a/drivers/net/wireless/ath/ath11k/core.c
> > > > +++ b/drivers/net/wireless/ath/ath11k/core.c
> > > > @@ -957,6 +957,20 @@ static const struct dmi_system_id ath11k_pm_quirk_table[] = {
> > > > DMI_MATCH(DMI_PRODUCT_NAME, "21K4"),
> > > > },
> > > > },
> > > > + {
> > > > + .driver_data = (void *)ATH11K_PM_WOW,
> > > > + .matches = { /* P14s G3 AMD #1 */
> > > > + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> > > > + DMI_MATCH(DMI_PRODUCT_NAME, "21J5"),
> > > > + },
> > > > + },
> > > > + {
> > > > + .driver_data = (void *)ATH11K_PM_WOW,
> > > > + .matches = { /* P14s G3 AMD #2 */
> > > > + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> > > > + DMI_MATCH(DMI_PRODUCT_NAME, "21J6"),
> > > > + },
> > > > + },
> > > > {
> > > > .driver_data = (void *)ATH11K_PM_WOW,
> > > > .matches = { /* P14s G4 AMD #1 */
> > > > @@ -971,6 +985,20 @@ static const struct dmi_system_id ath11k_pm_quirk_table[] = {
> > > > DMI_MATCH(DMI_PRODUCT_NAME, "21K6"),
> > > > },
> > > > },
> > > > + {
> > > > + .driver_data = (void *)ATH11K_PM_WOW,
> > > > + .matches = { /* P14s G5 AMD #1 */
> > > > + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> > > > + DMI_MATCH(DMI_PRODUCT_NAME, "21ME"),
> > > > + },
> > > > + },
> > > > + {
> > > > + .driver_data = (void *)ATH11K_PM_WOW,
> > > > + .matches = { /* P14s G5 AMD #2 */
> > > > + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> > > > + DMI_MATCH(DMI_PRODUCT_NAME, "21MF"),
> > > > + },
> > > > + },
> > > > {
> > > > .driver_data = (void *)ATH11K_PM_WOW,
> > > > .matches = { /* T16 G2 AMD #1 */
> > >
More information about the ath11k
mailing list