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 14fd73ec1c9693caa8974bcfb88b89bd7071f379..d77ba4c09e7807b3f2318833dcbcfadf3a82ae66 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);