qcacld-3.0: Add fixes for peer-level T2LM negotiation

Add the following fixes in case of peer-level tid-to-link
mapping negotiation.
1) Copy peer-level mapping to wlan_prev_t2lm_negotiated_info
from wlan_t2lm_onging_negotiation_info after negotiation
is completed as the former structure is used for mapping
reference.
2) Currently, the Host sends peer-level negotiated mapping
to FW, followed by an action frame response to the AP.
Reverse this order to align with the design flow.

Change-Id: I0e0db95c539cfd9aee27b481683e3e807a1f712e
CRs-Fixed: 3423125
This commit is contained in:
Gururaj Pandurangi
2023-03-02 02:58:20 -08:00
committed by Madan Koyyalamudi
parent 2d1de39605
commit bc5b48f9de
2 changed files with 7 additions and 5 deletions

View File

@@ -148,14 +148,12 @@ QDF_STATUS t2lm_handle_rx_req(struct wlan_objmgr_vdev *vdev,
if (QDF_IS_STATUS_SUCCESS(status) &&
t2lm_req.t2lm_info[dir].direction != WLAN_T2LM_INVALID_DIRECTION) {
/* Apply T2LM config to peer T2LM ctx and send it to FW */
t2lm_info = &ml_peer->t2lm_policy.ongoing_tid_to_link_mapping.t2lm_info[dir];
/* Apply T2LM config to peer T2LM ctx */
t2lm_info = &ml_peer->t2lm_policy.t2lm_negotiated_info.t2lm_info[dir];
qdf_mem_copy(t2lm_info, &t2lm_req.t2lm_info[dir],
sizeof(struct wlan_t2lm_info));
status = wlan_send_tid_to_link_mapping(vdev, t2lm_info);
if (!QDF_IS_STATUS_SUCCESS(status))
mlme_err("Could not send updated T2LM config to FW");
}
*token = t2lm_req.dialog_token;
return status;

View File

@@ -2177,6 +2177,10 @@ void lim_process_action_frame(struct mac_context *mac_ctx,
mac_ctx, mac_hdr->sa, session, token,
status_code) != QDF_STATUS_SUCCESS)
pe_err("T2LM action response frame not sent");
else
wlan_send_peer_level_tid_to_link_mapping(
session->vdev,
peer);
break;
case EHT_T2LM_RESPONSE:
wlan_t2lm_deliver_event(