mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-13 21:24:52 -04:00
wifi: ath12k: rearrange IRQ enable/disable in reset path
For non-WoW suspend/resume, ath12k host powers down whole hardware when suspend and powers up it when resume, the code path it goes through is very like the ath12k reset logic. In order to reuse that logic, rearrange IRQ handling in the reset path. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://msgid.link/20240412060620.27519-2-quic_bqiang@quicinc.com
This commit is contained in:
committed by
Kalle Valo
parent
303c017821
commit
c7b2da3c0a
@@ -879,9 +879,8 @@ static int ath12k_core_reconfigure_on_crash(struct ath12k_base *ab)
|
||||
int ret;
|
||||
|
||||
mutex_lock(&ab->core_lock);
|
||||
ath12k_hif_irq_disable(ab);
|
||||
ath12k_dp_pdev_free(ab);
|
||||
ath12k_hif_stop(ab);
|
||||
ath12k_ce_cleanup_pipes(ab);
|
||||
ath12k_wmi_detach(ab);
|
||||
ath12k_dp_rx_pdev_reo_cleanup(ab);
|
||||
mutex_unlock(&ab->core_lock);
|
||||
@@ -1136,6 +1135,9 @@ static void ath12k_core_reset(struct work_struct *work)
|
||||
time_left = wait_for_completion_timeout(&ab->recovery_start,
|
||||
ATH12K_RECOVER_START_TIMEOUT_HZ);
|
||||
|
||||
ath12k_hif_irq_disable(ab);
|
||||
ath12k_hif_ce_irq_disable(ab);
|
||||
|
||||
ath12k_hif_power_down(ab);
|
||||
ath12k_hif_power_up(ab);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user