Re: [PATCH v2] bus: mhi: core: Add support for forced PM resume

From: Kalle Valo
Date: Thu Dec 09 2021 - 09:35:40 EST


Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> writes:

> From: Loic Poulain <loic.poulain@xxxxxxxxxx>
>
> For whatever reason, some devices like QCA6390, WCN6855 using ath11k
> are not in M3 state during PM resume, but still functional. The
> mhi_pm_resume should then not fail in those cases, and let the higher
> level device specific stack continue resuming process.
>
> Add an API mhi_pm_resume_force(), to force resuming irrespective of the
> current MHI state. This fixes a regression with non functional ath11k WiFi
> after suspend/resume cycle on some machines.
>
> Bug report: https://bugzilla.kernel.org/show_bug.cgi?id=214179
>
> Fixes: 020d3b26c07a ("bus: mhi: Early MHI resume failure in non M3 state")
> Cc: stable@xxxxxxxxxxxxxxx #5.13
> Link: https://lore.kernel.org/regressions/871r5p0x2u.fsf@xxxxxxxxxxxxxx/
> Reported-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
> Reported-by: Pengyu Ma <mapengyu@xxxxxxxxx>
> Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx>
> [mani: Switched to API, added bug report, reported-by tags and CCed stable]
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
> ---
>
> Changes in v2:
>
> * Switched to a new API "mhi_pm_resume_force()" instead of the "force" flag as
> suggested by Greg. The "force" flag is now used inside the API.
>
> Greg: I'm sending this patch directly to you so that you can apply it to
> char-misc once we get an ACK from Kalle.

Thanks! I now tested this patch on top v5.16-rc4 using QCA6390 and
firmware WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1, no issues found:

Tested-by: Kalle Valo <kvalo@xxxxxxxxxx>

I'm not expecting any conflicts with ath11k, so please take this via
Greg's tree. It would be really good to get this regression fixed in
v5.16, so is it possible to send this to -rc releases?

For the ath11k part:

Acked-by: Kalle Valo <kvalo@xxxxxxxxxx>

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches