qcacld-3.0: Send correct PCL to fw for STA+STA roaming

STA + STA DBS roaming rules are:
1. Roaming will be enabled on both interfaces.
2. Roaming bands are restricted to maintain only DBS.

While STA2 connection, the host sets VDEV level PCL for
vdev1 after association completion only and initializes
roam band mask after the 4-way handshake. So, when sending
PCL to FW value of roam band mask is 0, the host cannot
filter different band channels from STA2's PCL list.
This allows STA2 to roam to the different bands and violate
rule 2.

Fix is to make sure roaming bands are restricted to maintain
only DBS.

Change-Id: I1c9d2edb34f59e00c2fd14ea7894c324f9c64047
CRs-Fixed: 3075106
This commit is contained in:
abhinav kumar
2021-11-16 19:26:58 +05:30
committato da Madan Koyyalamudi
parent f334490e94
commit 70d9da5b2c
3 ha cambiato i file con 33 aggiunte e 23 eliminazioni

Vedi File

@@ -1464,6 +1464,7 @@ QDF_STATUS wlan_cm_rso_config_init(struct wlan_objmgr_vdev *vdev,
struct wlan_mlme_psoc_ext_obj *mlme_obj;
struct wlan_objmgr_pdev *pdev;
struct wlan_objmgr_psoc *psoc;
uint32_t current_band = REG_BAND_MASK_ALL;
pdev = wlan_vdev_get_pdev(vdev);
if (!pdev)
@@ -1559,6 +1560,9 @@ QDF_STATUS wlan_cm_rso_config_init(struct wlan_objmgr_vdev *vdev,
cfg_params->bg_rssi_threshold =
mlme_obj->cfg.lfr.bg_rssi_threshold;
ucfg_reg_get_band(wlan_vdev_get_pdev(vdev), &current_band);
rso_cfg->roam_band_bitmask = current_band;
return status;
}