qcacld-3.0: Extract channel info from EHT OP IE to fill PE session

After roaming to 11BE 320 MHz EHT AP, the channel width is wrongly
updated as 40 MHz in newly created pe_session. This causes wrong
channel info to be sent to kernel in the get sta channel request
and could result in disconnection. In lim_fill_ft_session(),
the chan_width is updated from VHT OP or Vendor VHT OP IE only
currently. But in 6 GHz EHT 320 mode, the VHT OP IE will not be
present and default 40 MHz is assigned.

So extract the channel info from EHT OP IE and use that to fill
the ft pe session created after roaming

Change-Id: I81b52391e69dfe87b103ca1ee90dd9658f02273a
CRs-Fixed: 3746276
This commit is contained in:
Pragaspathi Thilagaraj
2024-02-26 17:13:11 +05:30
committed by Ravindra Konda
부모 3b3fbdfce4
커밋 86769c359e
4개의 변경된 파일51개의 추가작업 그리고 36개의 파일을 삭제

파일 보기

@@ -1163,6 +1163,7 @@ cm_fw_roam_sync_propagation(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
mlme_get_tdls_chan_switch_prohibited(vdev),
mlme_get_tdls_prohibited(vdev), vdev);
wlan_cm_update_scan_mlme_info(vdev, connect_rsp);
cm_update_associated_ch_info(vdev, true);
status = cm_sm_deliver_event_sync(cm_ctx, WLAN_CM_SM_EV_ROAM_DONE,
@@ -1181,6 +1182,7 @@ cm_fw_roam_sync_propagation(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
if (wlan_vdev_mlme_is_mlo_vdev(vdev))
mlo_roam_copy_reassoc_rsp(vdev, connect_rsp);
mlme_debug(CM_PREFIX_FMT, CM_PREFIX_REF(vdev_id, cm_id));
cm_remove_cmd(cm_ctx, &cm_id);