Browse Source

ath10k: disable irqs after fw crash

It makes little sense to keep handling irqs if fw
is dead.

This prevents multiple fw register dumps upon
crash on some devices (seen on QCA6174).

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Michal Kazior 10 years ago
parent
commit
6f3b7ff4e3
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/net/wireless/ath/ath10k/pci.c

+ 2 - 0
drivers/net/wireless/ath/ath10k/pci.c

@@ -2126,6 +2126,7 @@ static void ath10k_msi_err_tasklet(unsigned long data)
 		return;
 		return;
 	}
 	}
 
 
+	ath10k_pci_irq_disable(ar);
 	ath10k_pci_fw_crashed_clear(ar);
 	ath10k_pci_fw_crashed_clear(ar);
 	ath10k_pci_fw_crashed_dump(ar);
 	ath10k_pci_fw_crashed_dump(ar);
 }
 }
@@ -2195,6 +2196,7 @@ static void ath10k_pci_tasklet(unsigned long data)
 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
 
 
 	if (ath10k_pci_has_fw_crashed(ar)) {
 	if (ath10k_pci_has_fw_crashed(ar)) {
+		ath10k_pci_irq_disable(ar);
 		ath10k_pci_fw_crashed_clear(ar);
 		ath10k_pci_fw_crashed_clear(ar);
 		ath10k_pci_fw_crashed_dump(ar);
 		ath10k_pci_fw_crashed_dump(ar);
 		return;
 		return;