Sfoglia il codice sorgente

qcacld-3.0: Fix sme active list timeout by tdls

propagation from qcacld-2.0 to qcacld-3.0.

If tdls commands fail before it's really executed, the
commands in active list will not be removed and timeout.

Change-Id: Ie10458dcdef9571520b995d1879b499fe855ce2a
CRs-Fixed: 962237
Frank Liu 8 anni fa
parent
commit
d32281cbb5
1 ha cambiato i file con 9 aggiunte e 0 eliminazioni
  1. 9 0
      core/sme/src/common/sme_api.c

+ 9 - 0
core/sme/src/common/sme_api.c

@@ -1017,6 +1017,15 @@ sme_process_cmd:
 			  pCommand->command);
 		csr_ll_unlock(&pMac->sme.smeCmdActiveList);
 		status = csr_tdls_process_cmd(pMac, pCommand);
+		if (!QDF_IS_STATUS_SUCCESS(status)) {
+			if (csr_ll_remove_entry(&pMac->sme.smeCmdActiveList,
+						&pCommand->Link,
+						LL_ACCESS_LOCK)) {
+				qdf_mem_zero(&pCommand->u.tdlsCmd,
+					     sizeof(tTdlsCmd));
+				csr_release_command(pMac, pCommand);
+			}
+		}
 		break;
 #endif
 	case e_sme_command_set_hw_mode: