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
diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c
index bf137bb..0db3a70 100644
--- a/core/hdd/src/wlan_hdd_ipa.c
+++ b/core/hdd/src/wlan_hdd_ipa.c
@@ -5730,7 +5730,8 @@
/* 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);
}
@@ -5761,7 +5762,8 @@
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
@@ -5907,7 +5909,8 @@
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);
}