qcacld-3.0: Disable IPA WDI pipes before disconnect
Currently in case of HDD interface change timeout call back
disabling of IPA WDI pipes is not handled and only disconnect
is called. As a result disconnect fails because IPA driver
expects suspend and disable before disconnect. In this change
disable IPA pipes before doing disconnect.
Change-Id: I5ddf222730d57b39ba15bd5923c22d585eb52b08
CRs-Fixed: 2047110
diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c
index 3610b66..6bf3b6d 100644
--- a/core/hdd/src/wlan_hdd_ipa.c
+++ b/core/hdd/src/wlan_hdd_ipa.c
@@ -3141,6 +3141,9 @@
if (!hdd_ipa_uc_is_enabled(hdd_ctx))
return ret;
+ if (!hdd_ipa->ipa_pipes_down)
+ hdd_ipa_uc_disable_pipes(hdd_ipa);
+
if (true == hdd_ipa->uc_loaded) {
HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO,
"%s: Disconnect TX PIPE tx_pipe_handle=0x%x",
@@ -3408,8 +3411,6 @@
* IPA submodule during SSR transient state. So deinit basic IPA
* UC host side to be in sync with reloaded FW during SSR
*/
- if (!hdd_ipa->ipa_pipes_down)
- hdd_ipa_uc_disable_pipes(hdd_ipa);
qdf_mutex_acquire(&hdd_ipa->ipa_lock);
for (idx = 0; idx < WLAN_MAX_STA_COUNT; idx++) {