[PATCH] wifi: ath11k: disable wake IRQ on AHB suspend failure

Myeonghun Pak mhun512 at gmail.com
Thu Sep 10 15:40:48 PDT 2026


ath11k_ahb_hif_suspend() enables the wake IRQ before sending the SMP2P
power-save-enter message. If qcom_smem_state_update_bits() fails, the
function returns without balancing enable_irq_wake(). The WoW suspend
error path does not call ath11k_ahb_hif_resume(), so its wake IRQ cleanup
does not undo this enable.

Disable the wake IRQ before returning the SMP2P error. Warn if disabling
it also fails, while preserving the original error code.

This issue was identified during our ongoing static-analysis research while
reviewing kernel code.

Fixes: 69ccee619a38 ("wifi: ath11k: Add WoW support for WCN6750")
Co-developed-by: Ijae Kim <ae878000 at gmail.com>
Signed-off-by: Ijae Kim <ae878000 at gmail.com>
Signed-off-by: Myeonghun Pak <mhun512 at gmail.com>
---
 drivers/net/wireless/ath/ath11k/ahb.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ath/ath11k/ahb.c b/drivers/net/wireless/ath/ath11k/ahb.c
index ec5bf5c..3c9de95 100644
--- a/drivers/net/wireless/ath/ath11k/ahb.c
+++ b/drivers/net/wireless/ath/ath11k/ahb.c
@@ -742,6 +742,8 @@ static int ath11k_ahb_hif_suspend(struct ath11k_base *ab)
 					  ATH11K_AHB_SMP2P_SMEM_VALUE_MASK, value);
 	if (ret) {
 		ath11k_err(ab, "failed to send smp2p power save enter cmd :%d\n", ret);
+		if (disable_irq_wake(wake_irq))
+			ath11k_warn(ab, "failed to disable wakeup irq on suspend failure\n");
 		return ret;
 	}
 

base-commit: 08df884136f1c1197bab2a27814404fd329d9aac
-- 
2.50.1



More information about the ath11k mailing list