qcacld-3.0: Handle case when SAP assoc rsp tx complete failed

When DUT SAP assoc rsp tx complete failed, assoc failed, should send
disassoc and remove the sta peer, or hostapd will add a fake
peer and send EAPOL to it until timeout. When timeout, host will send
deauth to the peer which will stop new connecting from peer.

Change-Id: I9dc72bec2c67c93bd9749df30e93a0526796ee49
CRs-Fixed: 2779345
This commit is contained in:
Jianmin Zhu 2020-09-19 22:30:58 +08:00 • committed by snandini
commit 1e9696ee08

View file

@ -1159,6 +1159,15 @@ static QDF_STATUS lim_assoc_rsp_tx_complete(
goto end;
}
if (tx_complete != WMI_MGMT_TX_COMP_TYPE_COMPLETE_OK) {
lim_send_disassoc_mgmt_frame(mac_ctx,
REASON_DISASSOC_DUE_TO_INACTIVITY,
sta_ds->staAddr,
session_entry, false);
lim_trigger_sta_deletion(mac_ctx, sta_ds, session_entry);
goto free_buffers;
}
lim_assoc_ind = qdf_mem_malloc(sizeof(tLimMlmAssocInd));
if (!lim_assoc_ind) {
pe_err("lim assoc ind is NULL");
@ -1191,6 +1200,8 @@ static QDF_STATUS lim_assoc_rsp_tx_complete(
lim_sys_process_mmh_msg_api(mac_ctx, &msg);
qdf_mem_free(lim_assoc_ind);
free_buffers:
if (assoc_req->assocReqFrame) {
qdf_mem_free(assoc_req->assocReqFrame);
assoc_req->assocReqFrame = NULL;