|
@@ -280,13 +280,32 @@ lim_process_assoc_req_frame(tpAniSirGlobal pMac, uint8_t *pRxPacketInfo,
|
|
|
*/
|
|
|
pStaDs = dph_lookup_hash_entry(pMac, pHdr->sa, &assoc_id,
|
|
|
&psessionEntry->dph.dphHashTable);
|
|
|
- if ((NULL != pStaDs) && (pHdr->fc.retry > 0)) {
|
|
|
- lim_log(pMac, LOGE,
|
|
|
- FL("STA is initiating Assoc Req after ACK lost. Do not process"
|
|
|
- " sessionid: %d sys subType=%d for role=%d from: "
|
|
|
- MAC_ADDRESS_STR), psessionEntry->peSessionId,
|
|
|
- subType, GET_LIM_SYSTEM_ROLE(psessionEntry),
|
|
|
- MAC_ADDR_ARRAY(pHdr->sa));
|
|
|
+ if ((NULL != pStaDs)) {
|
|
|
+ if (pHdr->fc.retry > 0) {
|
|
|
+ lim_log(pMac, LOGE,
|
|
|
+ FL("STA is initiating Assoc Req after ACK lost. Do not process"
|
|
|
+ " sessionid: %d sys subType=%d for role=%d from: "
|
|
|
+ MAC_ADDRESS_STR), psessionEntry->peSessionId,
|
|
|
+ subType, GET_LIM_SYSTEM_ROLE(psessionEntry),
|
|
|
+ MAC_ADDR_ARRAY(pHdr->sa));
|
|
|
+ } else {
|
|
|
+ /*
|
|
|
+ * STA might have missed the assoc response,
|
|
|
+ * so it is sending assoc request frame again.
|
|
|
+ */
|
|
|
+ lim_send_assoc_rsp_mgmt_frame(pMac, eSIR_SUCCESS,
|
|
|
+ pStaDs->assocId, pStaDs->staAddr,
|
|
|
+ pStaDs->mlmStaContext.subType, pStaDs,
|
|
|
+ psessionEntry);
|
|
|
+ lim_log(pMac, LOGE,
|
|
|
+ FL("DUT already received an assoc request frame "
|
|
|
+ "and STA is sending another assoc req.So, do not "
|
|
|
+ "Process sessionid: %d sys subType=%d for role=%d "
|
|
|
+ "from: "MAC_ADDRESS_STR),
|
|
|
+ psessionEntry->peSessionId, subType,
|
|
|
+ psessionEntry->limSystemRole,
|
|
|
+ MAC_ADDR_ARRAY(pHdr->sa));
|
|
|
+ }
|
|
|
return;
|
|
|
}
|
|
|
|