qcacmn: handle MLO scenario for candidate validating
Add flag to indicate whether MLO is supported by the candidate or not, which is helpful when checking concurrency. Change-Id: I166ad2963163ae4dc7989516b654dce4cb635cec CRs-Fixed: 3013418
This commit is contained in:
committed by
Madan Koyyalamudi
parent
045a3225cd
commit
33958ed42f
@@ -74,11 +74,15 @@ enum wlan_if_mgr_evt {
|
||||
* @peer_addr: MAC address of the BSS
|
||||
* @chan_freq: Frequency of the potential BSS connection
|
||||
* @beacon_interval: beacon interval of BSS
|
||||
* @is_mlo: indicate whether MLO is supported by the BSS or not
|
||||
*/
|
||||
struct validate_bss_data {
|
||||
struct qdf_mac_addr peer_addr;
|
||||
qdf_freq_t chan_freq;
|
||||
uint16_t beacon_interval;
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
bool is_mlo;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -521,6 +521,20 @@ static bool cm_bss_peer_is_assoc_peer(struct cm_connect_req *req)
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* cm_candidate_mlo_update() - handle mlo scenario for candidate validating
|
||||
* @scan_entry: scan result of the candidate
|
||||
* @validate_bss_info: candidate info to be updated
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static void
|
||||
cm_candidate_mlo_update(struct scan_cache_entry *scan_entry,
|
||||
struct validate_bss_data *validate_bss_info)
|
||||
{
|
||||
validate_bss_info->is_mlo = !!scan_entry->ie_list.multi_link;
|
||||
}
|
||||
#else
|
||||
static inline
|
||||
void cm_set_vdev_link_id(struct cnx_mgr *cm_ctx,
|
||||
@@ -541,6 +555,12 @@ static bool cm_bss_peer_is_assoc_peer(struct cm_connect_req *req)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void
|
||||
cm_candidate_mlo_update(struct scan_cache_entry *scan_entry,
|
||||
struct validate_bss_data *validate_bss_info)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
static void cm_create_bss_peer(struct cnx_mgr *cm_ctx,
|
||||
@@ -596,6 +616,7 @@ QDF_STATUS cm_if_mgr_validate_candidate(struct cnx_mgr *cm_ctx,
|
||||
event_data.validate_bss_info.beacon_interval = scan_entry->bcn_int;
|
||||
qdf_copy_macaddr(&event_data.validate_bss_info.peer_addr,
|
||||
&scan_entry->bssid);
|
||||
cm_candidate_mlo_update(scan_entry, &event_data.validate_bss_info);
|
||||
|
||||
return if_mgr_deliver_event(cm_ctx->vdev,
|
||||
WLAN_IF_MGR_EV_VALIDATE_CANDIDATE,
|
||||
|
Reference in New Issue
Block a user