From a51b62649dcc88bffec39d3159f4edc4d41a2a91 Mon Sep 17 00:00:00 2001 From: Min Liu Date: Thu, 12 Dec 2019 15:47:27 +0800 Subject: [PATCH] qcacld-3.0: Send deauth to AP when SAE auth failed For some IOT issue on specific AP: STA failed to connect to SAE AP due to incorrect password is used. Then AP will still reject the authentication even correct password is used unless STA send deauth to AP upon authentication failure. Change-Id: I394041177425267e1b213ae468ec316e207cc0fc CRs-Fixed: 2576247 --- .../mac/src/pe/lim/lim_process_mlm_rsp_messages.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c index 734da57983ed..21887be36353 100644 --- a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c +++ b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c @@ -544,6 +544,21 @@ void lim_process_mlm_auth_cnf(struct mac_context *mac_ctx, uint32_t *msg) MTRACE(mac_trace(mac_ctx, TRACE_CODE_MLM_STATE, session_entry->peSessionId, session_entry->limMlmState)); + + /* WAR for some IOT issue on specific AP: + * STA failed to connect to SAE AP due to incorrect + * password is used. Then AP will still reject the + * authentication even correct password is used unless + * STA send deauth to AP upon authentication failure. + */ + if (auth_type == eSIR_AUTH_TYPE_SAE) { + pe_debug("Send deauth for SAE auth failure"); + lim_send_deauth_mgmt_frame(mac_ctx, + auth_cnf->protStatusCode, + auth_cnf->peerMacAddr, + session_entry, false); + } + /* * Need to send Join response with * auth failure to Host.