summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKomal Seelam <kseelam@qti.qualcomm.com>2016-08-10 17:55:18 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-08-11 15:13:41 +0530
commit4b4325997bd1697763ac1cbe76511af804c13792 (patch)
tree5f80922a383c6312a25bc2bf766136b91cdb4868
parentbe07a014d185aafecda483bb19c7ad6985ac13b8 (diff)
qcacld-2.0: Disable tasklet after WoW
On SMP architectures, tasklet can be scheduled along with the bus resume, resulting in target access. Disable the tasklet after enabling WoW and enable tasklet before sending WoW disable. Change-Id: I40f32b51cb2a77f78bdc154f88c986ce645538e1 CRs-Fixed: 1052771
-rw-r--r--CORE/SERVICES/HIF/PCIe/if_pci.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/CORE/SERVICES/HIF/PCIe/if_pci.c b/CORE/SERVICES/HIF/PCIe/if_pci.c
index 8d1462a9f04b..20e2e4835ad2 100644
--- a/CORE/SERVICES/HIF/PCIe/if_pci.c
+++ b/CORE/SERVICES/HIF/PCIe/if_pci.c
@@ -2786,6 +2786,7 @@ __hif_pci_suspend(struct pci_dev *pdev, pm_message_t state, bool runtime_pm)
msleep(10);
}
+ tasklet_disable(&sc->intr_tq);
hif_irq_record(HIF_SUSPEND_AFTER_WOW, sc);
#ifdef FEATURE_WLAN_D0WOW
@@ -2974,6 +2975,8 @@ skip:
goto out;
}
+ tasklet_enable(&sc->intr_tq);
+
if (!wma_is_wow_mode_selected(temp_module))
err = wma_resume_target(temp_module, runtime_pm);
else