From 86066439ad68668f9c5e6511bf4c069ce4e4e6d8 Mon Sep 17 00:00:00 2001 From: Aravind Kishore Sukla Date: Tue, 26 Apr 2022 17:15:45 +0530 Subject: [PATCH] qcacld-3.0: Send the correct SAE authentication failure reason code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently driver fills the reason code as STATUS_UNSPECIFIED_FAILURE when sae authentication frame is received or sent with failure status code. So while processing SAE auth frame sent by AP, the DUT STA reports as “Wrong password” instead of “Auth error” in the user interface. Parse the status field for SAE Auth frames received from the external authentication status command. This should be passed to the userspace as part of connect failure indication Change-Id: I9061cef6ac73a74021901dfa056551f51033de0c CRs-Fixed: 3182981 --- core/mac/src/pe/lim/lim_process_deauth_frame.c | 2 +- core/mac/src/pe/lim/lim_process_message_queue.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/mac/src/pe/lim/lim_process_deauth_frame.c b/core/mac/src/pe/lim/lim_process_deauth_frame.c index beedd3ac5fdf..f8a3c461f5a8 100644 --- a/core/mac/src/pe/lim/lim_process_deauth_frame.c +++ b/core/mac/src/pe/lim/lim_process_deauth_frame.c @@ -345,7 +345,7 @@ static void lim_process_sae_auth_msg(struct mac_context *mac_ctx, sae_msg->vdev_id = pe_session->vdev_id; sae_msg->sae_status = IEEE80211_STATUS_UNSPECIFIED; - sae_msg->result_code = eSIR_SME_DEAUTH_WHILE_JOIN; + sae_msg->result_code = eSIR_SME_AUTH_REFUSED; qdf_mem_copy(sae_msg->peer_mac_addr, addr, QDF_MAC_ADDR_SIZE); lim_process_sae_msg(mac_ctx, sae_msg); diff --git a/core/mac/src/pe/lim/lim_process_message_queue.c b/core/mac/src/pe/lim/lim_process_message_queue.c index 199866886095..0952de15e8ac 100644 --- a/core/mac/src/pe/lim/lim_process_message_queue.c +++ b/core/mac/src/pe/lim/lim_process_message_queue.c @@ -99,7 +99,7 @@ static void lim_process_sae_msg_sta(struct mac_context *mac, session); else lim_restore_from_auth_state(mac, sae_msg->result_code, - STATUS_UNSPECIFIED_FAILURE, + sae_msg->sae_status, session); break; default: