Bläddra i källkod

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
Sravan Kumar Kairam 8 år sedan
förälder
incheckning
374a868b36
2 ändrade filer med 3 tillägg och 5 borttagningar
  1. 3 2
      core/hdd/src/wlan_hdd_ipa.c
  2. 0 3
      core/hdd/src/wlan_hdd_main.c

+ 3 - 2
core/hdd/src/wlan_hdd_ipa.c

@@ -3141,6 +3141,9 @@ int hdd_ipa_uc_ol_deinit(hdd_context_t *hdd_ctx)
 	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 @@ static int __hdd_ipa_uc_ssr_deinit(void)
 	 * 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++) {

+ 0 - 3
core/hdd/src/wlan_hdd_main.c

@@ -5647,9 +5647,6 @@ void __hdd_wlan_exit(void)
 		return;
 	}
 
-	/* Check IPA HW Pipe shutdown */
-	hdd_ipa_uc_force_pipe_shutdown(hdd_ctx);
-
 	memdump_deinit();
 	hdd_driver_memdump_deinit();