qcacld-3.0: Update SSID to vdev for roam sync

During different SSID roaming the SSID maybe changed,
save ssid from beacon to roam sync ind struct and update
to mlme.

Change-Id: I83522334a2b86de13584ef4b5f55e6df68ec261a
CRs-Fixed: 3047205
This commit is contained in:
Liangwei Dong
2021-09-30 15:59:00 +08:00
committed by Madan Koyyalamudi
parent 5ea0e115a2
commit 26da9327ad
3 changed files with 11 additions and 0 deletions

View File

@@ -393,6 +393,11 @@ cm_fill_roam_info(struct wlan_objmgr_vdev *vdev,
rsp->connect_rsp.vdev_id = roam_synch_data->roamed_vdev_id;
qdf_copy_macaddr(&rsp->connect_rsp.bssid, &roam_synch_data->bssid);
if (!util_scan_is_null_ssid(&roam_synch_data->ssid))
wlan_vdev_mlme_set_ssid(vdev,
roam_synch_data->ssid.ssid,
roam_synch_data->ssid.length);
status = wlan_vdev_mlme_get_ssid(vdev,
rsp->connect_rsp.ssid.ssid,
&rsp->connect_rsp.ssid.length);

View File

@@ -2325,6 +2325,7 @@ struct roam_offload_synch_ind {
uint8_t isBeacon;
uint8_t roamed_vdev_id;
struct qdf_mac_addr bssid;
struct wlan_ssid ssid;
struct qdf_mac_addr self_mac;
int8_t txMgmtPower;
uint32_t auth_status;

View File

@@ -2627,6 +2627,11 @@ pe_roam_synch_callback(struct mac_context *mac_ctx,
lim_fill_ft_session(mac_ctx, bss_desc, ft_session_ptr,
session_ptr, roam_sync_ind_ptr->phy_mode,
assoc_rsp);
roam_sync_ind_ptr->ssid.length =
qdf_min((qdf_size_t)ft_session_ptr->ssId.length,
sizeof(roam_sync_ind_ptr->ssid.ssid));
qdf_mem_copy(roam_sync_ind_ptr->ssid.ssid, ft_session_ptr->ssId.ssId,
roam_sync_ind_ptr->ssid.length);
pe_set_rmf_caps(mac_ctx, ft_session_ptr, roam_sync_ind_ptr);
/* Next routine may update nss based on dot11Mode */