[PATCH 6/6] ath11k: do not restore ASPM in case of single MSI vector
Carl Huang
cjhuang at codeaurora.org
Tue Dec 22 22:02:25 EST 2020
For single MSI vector, ath11k doesn't restore ASPM as the MHI
register reading in M2 causes system hung.
Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
Signed-off-by: Carl Huang <cjhuang at codeaurora.org>
---
drivers/net/wireless/ath/ath11k/pci.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath11k/pci.c b/drivers/net/wireless/ath/ath11k/pci.c
index a120d7c..8c6147b 100644
--- a/drivers/net/wireless/ath/ath11k/pci.c
+++ b/drivers/net/wireless/ath/ath11k/pci.c
@@ -1119,7 +1119,11 @@ static int ath11k_pci_start(struct ath11k_base *ab)
set_bit(ATH11K_PCI_FLAG_INIT_DONE, &ab_pci->flags);
- ath11k_pci_aspm_restore(ab_pci);
+ /* TODO: fo now don't restore ASPM in case of single MSI
+ * vector as MHI register reading in M2 causes system hang.
+ */
+ if (ab_pci->vectors_32_capability)
+ ath11k_pci_aspm_restore(ab_pci);
ab->ce_irq_enabled_flag = true;
ath11k_pci_ce_irqs_enable(ab);
--
2.7.4
More information about the ath11k
mailing list