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
Этот коммит содержится в:
Gururaj Pandurangi
2023-03-02 02:58:20 -08:00
коммит произвёл Madan Koyyalamudi
родитель 2d1de39605
Коммит bc5b48f9de
2 изменённых файлов: 7 добавлений и 5 удалений

Просмотреть файл

@@ -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;