[PATCH v2] wifi: ath11k: Add two missing Lenovo IDs to the quirk table
Kyle Farnung
kfarnung at gmail.com
Tue May 12 20:30:55 PDT 2026
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?
[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