diff options
| author | Houston Hoffman <hhoffman@codeaurora.org> | 2017-02-08 17:48:57 -0800 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2017-02-12 12:33:10 -0800 |
| commit | 3403a4983eff39eff5c333d745319b983fa9d5ad (patch) | |
| tree | 8cef889d6fb24ac1b8a6a0e07b112349538c4394 | |
| parent | 60ada42750ce7d4d4833fe1479dcfb31966ad279 (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.c | 17 |
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) { |
