qcacld-3.0: Handle request to delete NAN Data Interface (NDI)
qcacld-2.0 to qcacld-3.0 propagation
Add changes to handle request to delete NAN datapath interface.
Change-Id: I3efef6adf6c7a974d3e344a7609f8517cd1aa752
CRs-Fixed: 962367
diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
index 0d480b6..c8dfdf4 100644
--- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c
+++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
@@ -3435,34 +3435,39 @@
psessionEntry->smeSessionId = smesessionId;
psessionEntry->transactionId = smetransactionId;
- /* BTAMP_STA and STA_IN_IBSS should NOT send Disassoc frame */
- if (!LIM_IS_IBSS_ROLE(psessionEntry)) {
+ /* STA_IN_IBSS and NDI should NOT send Disassoc frame */
+ if (!LIM_IS_IBSS_ROLE(psessionEntry) &&
+ !LIM_IS_NDI_ROLE(psessionEntry)) {
tSirMacAddr bcAddr = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
if (stopBssReq.reasonCode == eSIR_SME_MIC_COUNTER_MEASURES)
/* Send disassoc all stations associated thru TKIP */
__lim_counter_measures(pMac, psessionEntry);
else
lim_send_disassoc_mgmt_frame(pMac,
- eSIR_MAC_DEAUTH_LEAVING_BSS_REASON,
- bcAddr, psessionEntry, false);
+ eSIR_MAC_DEAUTH_LEAVING_BSS_REASON,
+ bcAddr, psessionEntry, false);
}
- /* Free the buffer allocated in START_BSS_REQ */
- qdf_mem_free(psessionEntry->addIeParams.probeRespData_buff);
- psessionEntry->addIeParams.probeRespDataLen = 0;
- psessionEntry->addIeParams.probeRespData_buff = NULL;
+ if (!LIM_IS_NDI_ROLE(psessionEntry)) {
+ /* Free the buffer allocated in START_BSS_REQ */
+ qdf_mem_free(psessionEntry->addIeParams.probeRespData_buff);
+ psessionEntry->addIeParams.probeRespDataLen = 0;
+ psessionEntry->addIeParams.probeRespData_buff = NULL;
- qdf_mem_free(psessionEntry->addIeParams.assocRespData_buff);
- psessionEntry->addIeParams.assocRespDataLen = 0;
- psessionEntry->addIeParams.assocRespData_buff = NULL;
+ qdf_mem_free(psessionEntry->addIeParams.assocRespData_buff);
+ psessionEntry->addIeParams.assocRespDataLen = 0;
+ psessionEntry->addIeParams.assocRespData_buff = NULL;
- qdf_mem_free(psessionEntry->addIeParams.probeRespBCNData_buff);
- psessionEntry->addIeParams.probeRespBCNDataLen = 0;
- psessionEntry->addIeParams.probeRespBCNData_buff = NULL;
+ qdf_mem_free(psessionEntry->addIeParams.probeRespBCNData_buff);
+ psessionEntry->addIeParams.probeRespBCNDataLen = 0;
+ psessionEntry->addIeParams.probeRespBCNData_buff = NULL;
- /* lim_del_bss is also called as part of coalescing, when we send DEL BSS followed by Add Bss msg. */
- pMac->lim.gLimIbssCoalescingHappened = false;
-
+ /*
+ * lim_del_bss is also called as part of coalescing,
+ * when we send DEL BSS followed by Add Bss msg.
+ */
+ pMac->lim.gLimIbssCoalescingHappened = false;
+ }
for (i = 1; i < pMac->lim.gLimAssocStaLimit; i++) {
pStaDs =
dph_get_hash_entry(pMac, i, &psessionEntry->dph.dphHashTable);