summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYun Park <yunp@codeaurora.org>2017-08-18 23:00:46 -0700
committerAnjaneedevi Kapparapu <akappara@codeaurora.org>2017-09-07 23:08:40 -0700
commit3aa71241416d751fc01b9391536686c8115115b2 (patch)
tree13bd0bd0c52081209cf1476627cdbf1a55592423
parent3c7a3ef2ccc6fb45666a9f7ea9f17430cd84fb8e (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.c16
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