summaryrefslogtreecommitdiff
path: root/core/mac/src/pe/lim/lim_process_auth_frame.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/mac/src/pe/lim/lim_process_auth_frame.c')
-rw-r--r--core/mac/src/pe/lim/lim_process_auth_frame.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/mac/src/pe/lim/lim_process_auth_frame.c b/core/mac/src/pe/lim/lim_process_auth_frame.c
index 53585671f5..6ea9bf8055 100644
--- a/core/mac/src/pe/lim/lim_process_auth_frame.c
+++ b/core/mac/src/pe/lim/lim_process_auth_frame.c
@@ -1170,14 +1170,17 @@ lim_process_auth_frame(tpAniSirGlobal mac_ctx, uint8_t *rx_pkt_info,
* auth frame from AP which results in authentication failure.
*/
if (pe_session->prev_auth_seq_num == curr_seq_num &&
+ !qdf_mem_cmp(pe_session->prev_auth_mac_addr, &mac_hdr->sa,
+ ETH_ALEN) &&
mac_hdr->fc.retry) {
pe_err("auth frame, seq num: %d is already processed, drop it",
curr_seq_num);
return;
}
- /* save seq number in pe_session */
+ /* save seq number and mac_addr in pe_session */
pe_session->prev_auth_seq_num = curr_seq_num;
+ qdf_mem_copy(pe_session->prev_auth_mac_addr, mac_hdr->sa, ETH_ALEN);
body_ptr = WMA_GET_RX_MPDU_DATA(rx_pkt_info);