ath10k: wake up device before accessing registers
authorRajkumar Manoharan <rmanohar@qti.qualcomm.com>
Wed, 16 Dec 2015 14:52:19 +0000 (16:52 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Thu, 31 Dec 2015 13:23:13 +0000 (15:23 +0200)
commit 1aaf8efba0ae ("ath10k: disable PCI PS for QCA988X
and QCA99X0") partially reverts pci soc powersave support added by
commit 77258d409ce4 ("ath10k: enable pci soc powersaving"). While
reverting the change, pci wake up function is called after accessing
pci registers instead of prior to access. The assumption is that chip
is woken up before accessing its registers.Though this change does not
fix any known issues, this might help to avoid unknown or low power
platform specific issues.

Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/pci.c

index 14fd73e..d77ba4c 100644 (file)
@@ -3071,9 +3071,6 @@ static int ath10k_pci_probe(struct pci_dev *pdev,
                goto err_sleep;
        }
 
-       ath10k_pci_ce_deinit(ar);
-       ath10k_pci_irq_disable(ar);
-
        if (ar_pci->pci_ps == 0) {
                ret = ath10k_pci_force_wake(ar);
                if (ret) {
@@ -3082,6 +3079,9 @@ static int ath10k_pci_probe(struct pci_dev *pdev,
                }
        }
 
+       ath10k_pci_ce_deinit(ar);
+       ath10k_pci_irq_disable(ar);
+
        ret = ath10k_pci_init_irq(ar);
        if (ret) {
                ath10k_err(ar, "failed to init irqs: %d\n", ret);