Browse Source

qcacld-3.0: Handle ipa pipes setup failure in wlan_ipa_uc_ol_init

When ipa setup pipes fails in wlan_ipa_uc_ol_init API,
tx buff mapping is not done but during deinit path
tx buff unmapping is called without mapping.

Fix this by resetting uc_loaded flag to false when ipa pipes
setup failure is encountered.

Change-Id: Ic34320e56cee9e60381d9203dd95e268d0ef392b
CRs-Fixed: 2957612
Karthik Kantamneni 3 years ago
parent
commit
6b9945cdb4
1 changed files with 7 additions and 0 deletions
  1. 7 0
      components/ipa/core/src/wlan_ipa_core.c

+ 7 - 0
components/ipa/core/src/wlan_ipa_core.c

@@ -4003,6 +4003,13 @@ QDF_STATUS wlan_ipa_uc_ol_init(struct wlan_ipa_priv *ipa_ctx,
 			ipa_err("Failure to setup IPA pipes (status=%d)",
 				status);
 			status = QDF_STATUS_E_FAILURE;
+
+			if (wlan_ipa_uc_sta_is_enabled(ipa_ctx->config)) {
+				qdf_cancel_work(&ipa_ctx->mcc_work);
+				wlan_ipa_teardown_sys_pipe(ipa_ctx);
+			}
+			ipa_ctx->uc_loaded = false;
+
 			goto fail_return;
 		}