summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGovind Singh <govinds@codeaurora.org>2017-02-21 17:37:11 +0530
committerqcabuildsw <qcabuildsw@localhost>2017-03-24 19:07:39 -0700
commitfe3941547a52da1f76689406cbc662d43404357c (patch)
treee5eeab1a67c83a1f830c546aefc96b201215ccc4
parente389eabef331bcff9be22673c44a9f5f64bdd5ec (diff)
qcacld-3.0: Prevent invalid ipa suspend indication to fw
Invalid ipa suspend pipe indication is going to firmware due to invalid handling of sap_num_connected_sta counter. Prevent invalid ipa suspend indication to fw when ipa pipes are down. Propagation from qcacld-2.0 to qcacld-3.0. Change-Id: Id7ac76bedc20aac39199e14b7042cfb58ba255fe CRs-Fixed: 1036471
-rw-r--r--core/hdd/src/wlan_hdd_ipa.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c
index 6151bb0d0191..9e46a3a760d8 100644
--- a/core/hdd/src/wlan_hdd_ipa.c
+++ b/core/hdd/src/wlan_hdd_ipa.c
@@ -5445,7 +5445,8 @@ static int __hdd_ipa_wlan_evt(hdd_adapter_t *adapter, uint8_t sta_id,
/* Disable IPA UC TX PIPE when STA disconnected */
if (!hdd_ipa->num_iface &&
(HDD_IPA_UC_NUM_WDI_PIPE ==
- hdd_ipa->activated_fw_pipe))
+ hdd_ipa->activated_fw_pipe) &&
+ !hdd_ipa->ipa_pipes_down)
hdd_ipa_uc_handle_last_discon(hdd_ipa);
}
@@ -5476,7 +5477,8 @@ static int __hdd_ipa_wlan_evt(hdd_adapter_t *adapter, uint8_t sta_id,
if ((!hdd_ipa->num_iface) &&
(HDD_IPA_UC_NUM_WDI_PIPE ==
- hdd_ipa->activated_fw_pipe)) {
+ hdd_ipa->activated_fw_pipe) &&
+ !hdd_ipa->ipa_pipes_down) {
if (cds_is_driver_unloading()) {
/*
* We disable WDI pipes directly here since
@@ -5622,7 +5624,8 @@ static int __hdd_ipa_wlan_evt(hdd_adapter_t *adapter, uint8_t sta_id,
hdd_ipa->uc_loaded == true) {
if ((false == hdd_ipa->resource_unloading)
&& (HDD_IPA_UC_NUM_WDI_PIPE ==
- hdd_ipa->activated_fw_pipe)) {
+ hdd_ipa->activated_fw_pipe) &&
+ !hdd_ipa->ipa_pipes_down) {
hdd_ipa_uc_handle_last_discon(hdd_ipa);
}