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 17:37:23 +0530
commit37864a495b1c9770eac35bc84be613cd5dfb8514 (patch)
tree5f80922a383c6312a25bc2bf766136b91cdb4868
parent32d862c5ebb01975924289d6fc97c2fd4da86e61 (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