Explorar el Código

qcacld-3.0: Abort connection upon auth failure

Host driver sends deauth to AP BSS if the ML Info
IE is not present in the auth frame, but doesn't
abort the connection. Later, upon auth failure timeout
the connection gets terminated.

Instead of waiting till timeout, abort the connection
if the authentication fails.

Change-Id: I61e429baf29c49e4b28f379a9f4870dac7de5217
CRs-Fixed: 3497640
Surya Prakash Sivaraj hace 2 años
padre
commit
7bb5bb0420
Se han modificado 1 ficheros con 5 adiciones y 1 borrados
  1. 5 1
      core/mac/src/pe/lim/lim_process_auth_frame.c

+ 5 - 1
core/mac/src/pe/lim/lim_process_auth_frame.c

@@ -2044,10 +2044,14 @@ lim_process_auth_frame(struct mac_context *mac_ctx, uint8_t *rx_pkt_info,
 	if (LIM_IS_STA_ROLE(pe_session) &&
 	    wlan_vdev_mlme_is_mlo_vdev(pe_session->vdev)) {
 		if (!rx_auth_frm_body->is_mlo_ie_present) {
-			pe_debug("MLO IE not present in auth frame from peer");
+			pe_err("MLO IE not present in auth frame from peer, abort connection");
 			lim_send_deauth_mgmt_frame(
 				mac_ctx, REASON_UNSPEC_FAILURE,
 				pe_session->bssId, pe_session, false);
+			lim_restore_from_auth_state(mac_ctx,
+						    eSIR_SME_INVALID_PARAMETERS,
+						    REASON_UNSPEC_FAILURE,
+						    pe_session);
 			goto free;
 		}
 	}