summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHouston Hoffman <hhoffman@codeaurora.org>2017-02-08 17:48:57 -0800
committerqcabuildsw <qcabuildsw@localhost>2017-02-12 12:33:10 -0800
commit3403a4983eff39eff5c333d745319b983fa9d5ad (patch)
tree8cef889d6fb24ac1b8a6a0e07b112349538c4394
parent60ada42750ce7d4d4833fe1479dcfb31966ad279 (diff)
qcacld-3.0: Call hif apis to block traffic durring suspend
Before performing wow handshake, block unwanted traffic between the host and firmware. Change-Id: I977603b06639fe30816179defec337a2067fc210 CRs-Fixed: 2004308
-rw-r--r--core/hdd/src/wlan_hdd_driver_ops.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/core/hdd/src/wlan_hdd_driver_ops.c b/core/hdd/src/wlan_hdd_driver_ops.c
index 126df9d349f6..9fbf37574a6c 100644
--- a/core/hdd/src/wlan_hdd_driver_ops.c
+++ b/core/hdd/src/wlan_hdd_driver_ops.c
@@ -539,10 +539,16 @@ static int __wlan_hdd_bus_suspend(pm_message_t state, uint32_t wow_flags)
goto done;
}
+ err = hif_bus_early_suspend(hif_ctx);
+ if (err) {
+ hdd_err("Failed hif bus early suspend");
+ goto resume_oltxrx;
+ }
+
err = wma_bus_suspend(wow_flags);
if (err) {
hdd_err("Failed wma bus suspend");
- goto resume_oltxrx;
+ goto late_hif_resume;
}
err = hif_bus_suspend(hif_ctx);
@@ -557,6 +563,9 @@ static int __wlan_hdd_bus_suspend(pm_message_t state, uint32_t wow_flags)
resume_wma:
status = wma_bus_resume();
QDF_BUG(!status);
+late_hif_resume:
+ status = hif_bus_late_resume(hif_ctx);
+ QDF_BUG(!status);
resume_oltxrx:
status = ol_txrx_bus_resume();
QDF_BUG(!status);
@@ -717,6 +726,12 @@ static int __wlan_hdd_bus_resume(void)
goto out;
}
+ status = hif_bus_late_resume(hif_ctx);
+ if (status) {
+ hdd_err("Failed hif bus late resume");
+ goto out;
+ }
+
qdf_status = ol_txrx_bus_resume();
status = qdf_status_to_os_return(qdf_status);
if (status) {