Re: [PATCH] wifi: ath11k: Add two missing Lenovo IDs to the quirk table

Kyle Farnung
2026-04-24T02:07:05Z

>
>
>
> ________________________________________
> From: Santiago Ruano Rincón <santiagorr@riseup.net>
> Sent: Thursday, April 23, 2026 2:14 PM
> To: Jeff Johnson; linux-wireless@vger.kernel.org; ath11k@lists.infradead.org; linux-kernel@vger.kernel.org
> Cc: Mark Pearson; kfarnung@outlook.com; koike@igalia.com
> Subject: [PATCH] wifi: ath11k: Add two missing Lenovo IDs to the quirk table
>
> 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 two more platform ID
> are missing in that table: P14s Gen 5 AMD, as reported by Kyle Farnung [2]
> and P14s Gen 3 AMD. This commit adds one ID 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.

Lenovo products have a pair of IDs, you'll want 21J6 [3] and 21MF [4] as
well. I submitted a patch myself [5], but I've been investigating another
symptom.

I have the same "wake on power removed" issue, but I have another issue
that's more annoying where the wifi just dies randomly. I only have the
wake issue when power is disconnected, not when power is connected again.
I mostly leave my device connected, so I only realized the behavior while
doing the regression testing requested in the other patch.

[3] https://pcsupport.lenovo.com/jm/en/products/laptops-and-netbooks/thinkpad-p-series-laptops/thinkpad-p14s-gen-3-type-21j5-21j6/21j5
[4] https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-p-series-laptops/thinkpad-p14s-gen-5-type-21me-21mf/21me/21me000pge
[5] https://lore.kernel.org/all/ba4d194b-6d31-4d8a-a6a6-da116f9f56ac@oss.qualcomm.com/

>
> Fixes: ce8669a27016 ("wifi: ath11k: determine PM policy based on machine model")
> Signed-off-by: Santiago Ruano Rincón <santiagorr@riseup.net>
> ---
> drivers/net/wireless/ath/ath11k/core.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath11k/core.c b/drivers/net/wireless/ath/ath11k/core.c
> index 3f6f4db5b7ee..56938d5d42a1 100644
> --- a/drivers/net/wireless/ath/ath11k/core.c
> +++ b/drivers/net/wireless/ath/ath11k/core.c
> @@ -957,6 +957,13 @@ 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 */
> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "21J5"),
> + },
> + },
> {
> .driver_data = (void *)ATH11K_PM_WOW,
> .matches = { /* P14s G4 AMD #1 */
> @@ -971,6 +978,13 @@ static const struct dmi_system_id ath11k_pm_quirk_table[] = {
> DMI_MATCH(DMI_PRODUCT_NAME, "21K6"),
> },
> },
> + {
> + .driver_data = (void *)ATH11K_PM_WOW,
> + .matches = { /* P14s Gen 5 AMD */
> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "21ME"),
> + },
> + },
> {
> .driver_data = (void *)ATH11K_PM_WOW,
> .matches = { /* T16 G2 AMD #1 */
> --
> 2.53.0
>