]> git.baikalelectronics.ru Git - kernel.git/commitdiff
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 e0e081ecfa47 ("ath10k: disable PCI PS for QCA988X
and QCA99X0") partially reverts pci soc powersave support added by
commit 8b20d17eae5b ("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);