From f24caf70096be08ad265ad20a075ef78a14bb73e Mon Sep 17 00:00:00 2001 From: Tushnim Bhattacharyya Date: Tue, 31 Oct 2017 09:50:13 -0700 Subject: [PATCH] qcacld-3.0: Don't drop the connection if multiple auth frames are received Don't drop the connection if multiple auth frames are received from client due to retransmission on bad rf condition. Change-Id: I16d065ff6ada35b0c69b6b4cec84f9fac96ce8d7 CRs-Fixed: 2136412 --- core/mac/src/pe/lim/lim_process_auth_frame.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 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 f670fd4fc07a..a1bfa1f1d1d3 100644 --- a/core/mac/src/pe/lim/lim_process_auth_frame.c +++ b/core/mac/src/pe/lim/lim_process_auth_frame.c @@ -316,7 +316,10 @@ static void lim_process_auth_frame_type1(tpAniSirGlobal mac_ctx, * pStaDS != NULL and isConnected = 1 means the STA is already * connected, But SAP received the Auth from that station. * For non PMF connection send Deauth frame as STA will retry - * to connect back. + * to connect back. The reason for above logic is captured in + * CR620403. If we silently drop the auth, the subsequent EAPOL + * exchange will fail & peer STA will keep trying until DUT + * SAP/GO gets a kickout event from FW & cleans up. * * For PMF connection the AP should not tear down or otherwise * modify the state of the existing association until the @@ -1093,8 +1096,7 @@ 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) { + if (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;