]> git.baikalelectronics.ru Git - kernel.git/commit
bus: mhi: core: Add support for forced PM resume
authorLoic Poulain <loic.poulain@linaro.org>
Thu, 9 Dec 2021 13:16:33 +0000 (18:46 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Dec 2021 09:57:22 +0000 (10:57 +0100)
commit082cccdd2d68474b563ed40df68a5e850c9c975e
tree2a52074a9ef92ef18b7eb2af81dd7ab93ee65a24
parent8c737db31b208acbe738be7707a511e8c62a59f2
bus: mhi: core: Add support for forced PM resume

commit 68650fdd408bc1e963e4eb47ac40e070fbce7fa0 upstream.

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

Link: https://lore.kernel.org/regressions/871r5p0x2u.fsf@codeaurora.org/
Fixes: 6145c62485a1 ("bus: mhi: Early MHI resume failure in non M3 state")
Cc: stable@vger.kernel.org #5.13
Reported-by: Kalle Valo <kvalo@codeaurora.org>
Reported-by: Pengyu Ma <mapengyu@gmail.com>
Tested-by: Kalle Valo <kvalo@kernel.org>
Acked-by: Kalle Valo <kvalo@kernel.org>
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
[mani: Switched to API, added bug report, reported-by tags and CCed stable]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20211209131633.4168-1-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/bus/mhi/core/pm.c
drivers/net/wireless/ath/ath11k/mhi.c
include/linux/mhi.h