Merge "qcacld-3.0: Save processed AUTH frames seq number in pe_session" into wlan-cld3.driver.lnx.2.0-dev

This commit is contained in:
CNSS_WLAN Service 2017-10-12 20:02:04 -07:00 • committed by Gerrit - the friendly Code Review server
commit 2cc191e130
3 changed files with 14 additions and 0 deletions

View file

@ -522,6 +522,8 @@ typedef struct sPESession /* Added to Support BT-AMP */
#ifdef WLAN_FEATURE_FILS_SK
struct pe_fils_session *fils_info;
#endif
/* previous auth frame's sequence number */
uint16_t prev_auth_seq_num;
} tPESession, *tpPESession;
/*-------------------------------------------------------------------------

View file

@ -1093,6 +1093,16 @@ lim_process_auth_frame(tpAniSirGlobal mac_ctx, uint8_t *rx_pkt_info,
pe_session->limMlmState, MAC_ADDR_ARRAY(mac_hdr->bssId),
(uint) abs((int8_t) WMA_GET_RX_RSSI_NORMALIZED(rx_pkt_info)));
if (pe_session->pePersona == QDF_STA_MODE &&
pe_session->prev_auth_seq_num == curr_seq_num) {
pe_err("auth frame, seq num: %d is already processed, drop it",
curr_seq_num);
return;
}
/* save seq number in pe_session */
pe_session->prev_auth_seq_num = curr_seq_num;
body_ptr = WMA_GET_RX_MPDU_DATA(rx_pkt_info);
/* Restore default failure timeout */

View file

@ -539,6 +539,8 @@ pe_create_session(tpAniSirGlobal pMac, uint8_t *bssid, uint8_t *sessionId,
pe_init_fils_info(session_ptr);
pe_init_pmf_comeback_timer(pMac, session_ptr, *sessionId);
session_ptr->ht_client_cnt = 0;
/* following is invalid value since seq number is 12 bit */
session_ptr->prev_auth_seq_num = 0xFFFF;
return &pMac->lim.gpSession[i];
}