ACK: [SRU][R][PATCH 0/1] UBUNTU: SAUCE: wifi: ath12k: avoid MHI deinit during suspend

Hui Wang hui.wang at canonical.com
Fri Jul 17 09:11:10 UTC 2026


Acked-by: Hui Wang <hui.wang at canonical.com>

On 7/13/26 16:33, ChunAn Wu via kernel-team wrote:
> BugLink: https://bugs.launchpad.net/bugs/2160183
>
> SRU Justification:
>
> [ Impact ]
>
> On HP EliteBook 8 G1a 13 inch Notebook AI PC with Qualcomm WCN7850
> Wi-Fi, suspend itself is fast but resume takes about 20.8 seconds.
> FWTS reports ResumeTooLong and the kernel log shows ath12k/MHI resume
> failures:
>
>    mhi mhi0: MHI did not load image over BHI, ret: -5
>    ath12k_pci 0000:01:00.0: failed to set mhi state: POWER_ON(2)
>    ath12k_pci 0000:01:00.0: failed to start mhi: -110
>    ath12k_pci 0000:01:00.0: failed to set mhi state INIT(0) in current mhi state (0x1)
>    ath12k_pci 0000:01:00.0: timeout while waiting for restart complete
>
> The user-visible delay comes from ath12k waiting
> ATH12K_RESET_TIMEOUT_HZ during resume after MHI power-up fails.
>
> [ Fix ]
>
> Apply a SAUCE patch based on the upstream mailing-list proposal:
>
>    [PATCH] wifi: ath12k: fix CMA error and MHI state mismatch during resume
>    https://lore.kernel.org/all/20260202151720.49904-1-bjsaikiran@gmail.com/
>
> The patch keeps MHI DEINIT out of the suspend path when
> MHI_POWER_OFF_KEEP_DEV is used, and avoids repeating MHI INIT when the
> INIT state bit is already set.
>
> This patch is not merged upstream yet, therefore it is marked as
> UBUNTU: SAUCE while it is validated on the affected platform.
>
> [ Test Plan ]
>
> 1. Install the test kernel on the affected HP EliteBook 8 G1a system.
> 2. Boot the patched kernel and confirm:
>
>       uname -r
>
>     reports the patched Resolute kernel.
> 3. Run the original failing FWTS flow:
>
>       sudo fwts s3 --s3-sleep-delay=30 --s3-device-check --s3-device-check-delay=45
>
> 4. Confirm resume time is below the FWTS 15 second threshold.
> 5. Confirm dmesg no longer contains:
>
>       MHI did not load image over BHI
>       failed to set mhi state INIT(0) in current mhi state (0x1)
>       timeout while waiting for restart complete
>
> 6. Confirm Wi-Fi can associate and pass traffic after resume.
>
> [ Where problems could occur ]
>
> The change affects ath12k PCI suspend/resume handling for devices using
> MHI. If a platform actually cuts WLAN power during suspend, avoiding
> MHI INIT during resume may skip register reprogramming that would
> otherwise be needed. This is the upstream concern raised by Qualcomm.
>
> The risk is limited to ath12k MHI suspend/resume paths. Full power-down
> paths still call MHI DEINIT as before. Validation should include several
> s2idle cycles and Wi-Fi traffic after resume.
>
> [ Other Info ]
>
> This is a Resolute patch generated from origin/master-next
> (linux 7.0.0-28.28, resolute). The patch is not yet accepted upstream;
> latest upstream thread reply as of analysis time was from Qualcomm on
> 2026-02-03, describing the proposal as a workaround pending a
> root-cause fix.
>
> Saikiran (1):
>    UBUNTU: SAUCE: wifi: ath12k: avoid MHI deinit during suspend
>
>   drivers/net/wireless/ath/ath12k/mhi.c | 11 +++++++----
>   1 file changed, 7 insertions(+), 4 deletions(-)
>



More information about the kernel-team mailing list