瀏覽代碼

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
Min Liu 5 年之前
父節點
當前提交
a51b62649d
共有 1 個文件被更改,包括 15 次插入0 次删除
  1. 15 0
      core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c

+ 15 - 0
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.