diff options
| author | Yun Park <yunp@codeaurora.org> | 2017-08-18 23:00:46 -0700 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappara@codeaurora.org> | 2017-09-07 23:08:40 -0700 |
| commit | 3aa71241416d751fc01b9391536686c8115115b2 (patch) | |
| tree | 13bd0bd0c52081209cf1476627cdbf1a55592423 | |
| parent | 3c7a3ef2ccc6fb45666a9f7ea9f17430cd84fb8e (diff) | |
qcacld-3.0: Set ipa_pipes_down TRUE after IPA pipes are disabled
Set ipa_pipes_down flag TRUE only when IPA pipes are successfully
suspended and disabled.
This will force IPA pipes to be disabled when SAP closed.
Change-Id: Ieb3b3d5440c2d279648b08d238d1472613800fea
CRs-Fixed: 2096338
| -rw-r--r-- | core/hdd/src/wlan_hdd_ipa.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c index 86d843fab1d5..c4d6e8484ee6 100644 --- a/core/hdd/src/wlan_hdd_ipa.c +++ b/core/hdd/src/wlan_hdd_ipa.c @@ -1744,8 +1744,6 @@ static int hdd_ipa_uc_disable_pipes(struct hdd_ipa_priv *hdd_ipa) { int result; - hdd_ipa->ipa_pipes_down = true; - HDD_IPA_LOG(QDF_TRACE_LEVEL_DEBUG, "%s: Disable RX PIPE", __func__); result = ipa_suspend_wdi_pipe(hdd_ipa->rx_pipe_handle); if (result) { @@ -1778,6 +1776,7 @@ static int hdd_ipa_uc_disable_pipes(struct hdd_ipa_priv *hdd_ipa) return result; } + hdd_ipa->ipa_pipes_down = true; return 0; } @@ -5893,10 +5892,10 @@ static int __hdd_ipa_wlan_evt(hdd_adapter_t *adapter, uint8_t sta_id, msg_ex->name); } else { /* Disable IPA UC TX PIPE when STA disconnected */ - if (!hdd_ipa->num_iface && + if ((1 == hdd_ipa->num_iface) && (HDD_IPA_UC_NUM_WDI_PIPE == - hdd_ipa->activated_fw_pipe) && - !hdd_ipa->ipa_pipes_down) + hdd_ipa->activated_fw_pipe) && + !hdd_ipa->ipa_pipes_down) hdd_ipa_uc_handle_last_discon(hdd_ipa); } @@ -5925,10 +5924,9 @@ static int __hdd_ipa_wlan_evt(hdd_adapter_t *adapter, uint8_t sta_id, return -EINVAL; } - if ((!hdd_ipa->num_iface) && - (HDD_IPA_UC_NUM_WDI_PIPE == - hdd_ipa->activated_fw_pipe) && - !hdd_ipa->ipa_pipes_down) { + if ((1 == hdd_ipa->num_iface) && + (HDD_IPA_UC_NUM_WDI_PIPE == hdd_ipa->activated_fw_pipe) && + !hdd_ipa->ipa_pipes_down) { if (cds_is_driver_unloading()) { /* * We disable WDI pipes directly here since |
