Merge "wlan: Flush scan results on interface down" into wlan-driver.lnx.1.0
diff --git a/CORE/MAC/src/pe/lim/limAssocUtils.c b/CORE/MAC/src/pe/lim/limAssocUtils.c
index e765366..b3ce7c6 100644
--- a/CORE/MAC/src/pe/lim/limAssocUtils.c
+++ b/CORE/MAC/src/pe/lim/limAssocUtils.c
@@ -2758,23 +2758,39 @@
pDelStaParams->respReqd = 0;
else
{
- //when limDelSta is called from processSmeAssocCnf then mlmState is already set properly.
- if(eLIM_MLM_WT_ASSOC_DEL_STA_RSP_STATE != GET_LIM_STA_CONTEXT_MLM_STATE(pStaDs))
- {
- MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, psessionEntry->peSessionId, eLIM_MLM_WT_DEL_STA_RSP_STATE));
- SET_LIM_STA_CONTEXT_MLM_STATE(pStaDs, eLIM_MLM_WT_DEL_STA_RSP_STATE);
- }
- if ( (eLIM_STA_ROLE == GET_LIM_SYSTEM_ROLE(psessionEntry)) ||
- (eLIM_BT_AMP_STA_ROLE == GET_LIM_SYSTEM_ROLE(psessionEntry)) )
- {
- MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, psessionEntry->peSessionId, eLIM_MLM_WT_DEL_STA_RSP_STATE));
+ if (pStaDs->staType != STA_ENTRY_TDLS_PEER) {
+ /**
+ * when limDelSta is called from processSmeAssocCnf
+ * then mlmState is already set properly.
+ */
+ if(eLIM_MLM_WT_ASSOC_DEL_STA_RSP_STATE !=
+ GET_LIM_STA_CONTEXT_MLM_STATE(pStaDs)) {
+ MTRACE(macTrace
+ (pMac, TRACE_CODE_MLM_STATE,
+ psessionEntry->peSessionId,
+ eLIM_MLM_WT_DEL_STA_RSP_STATE));
+ SET_LIM_STA_CONTEXT_MLM_STATE(pStaDs,
+ eLIM_MLM_WT_DEL_STA_RSP_STATE);
+ }
+ if ((eLIM_STA_ROLE ==
+ GET_LIM_SYSTEM_ROLE(psessionEntry)) ||
+ (eLIM_BT_AMP_STA_ROLE ==
+ GET_LIM_SYSTEM_ROLE(psessionEntry))) {
+ MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE,
+ psessionEntry->peSessionId,
+ eLIM_MLM_WT_DEL_STA_RSP_STATE));
- psessionEntry->limMlmState = eLIM_MLM_WT_DEL_STA_RSP_STATE;
-
+ psessionEntry->limMlmState =
+ eLIM_MLM_WT_DEL_STA_RSP_STATE;
+ }
+
}
- pDelStaParams->respReqd = 1;
- //we need to defer the message until we get the response back from HAL.
+ /**
+ * we need to defer the message until we get the
+ * response back from HAL.
+ */
SET_LIM_PROCESS_DEFD_MESGS(pMac, false);
+ pDelStaParams->respReqd = 1;
}
/* Update PE session ID*/
diff --git a/CORE/WDI/TRP/DTS/src/wlan_qct_wdi_dts.c b/CORE/WDI/TRP/DTS/src/wlan_qct_wdi_dts.c
index bc18282..24b4dec 100644
--- a/CORE/WDI/TRP/DTS/src/wlan_qct_wdi_dts.c
+++ b/CORE/WDI/TRP/DTS/src/wlan_qct_wdi_dts.c
@@ -1002,16 +1002,10 @@
}
else
{
- wpalPacketSetRxLength(pFrame, usMPDULen+ucMPDUHOffset);
- wpalPacketRawTrimHead(pFrame, ucMPDUHOffset);
-
- /* flow control related */
- pRxMetadata->fc = isFcBd;
- pRxMetadata->mclkRxTimestamp = WDI_RX_BD_GET_TIMESTAMP(pBDHeader);
- pRxMetadata->fcStaTxDisabledBitmap = WDI_RX_FC_BD_GET_STA_TX_DISABLED_BITMAP(pBDHeader);
- pRxMetadata->fcSTAValidMask = WDI_RX_FC_BD_GET_STA_VALID_MASK(pBDHeader);
- /* Invoke Rx complete callback */
- pClientData->receiveFrameCB(pClientData->pCallbackContext, pFrame);
+ /* Discard the frame as FC BD not supoorted any more */
+ DTI_TRACE(DTI_TRACE_LEVEL_ERROR, "FC bit is set in BD");
+ wpalPacketFree(pFrame);
+ return eWLAN_PAL_STATUS_SUCCESS;
}
/* Log the RX Stats */