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:

committed by
Madan Koyyalamudi

vanhempi
2d1de39605
commit
bc5b48f9de
@@ -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;
|
||||
|
@@ -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(
|
||||
|
Viittaa uudesa ongelmassa
Block a user