diff options
Diffstat (limited to 'core/mac/src/pe/lim')
-rw-r--r-- | core/mac/src/pe/lim/lim_process_auth_frame.c | 5 |
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); |