qcacmn: Count MLO vdevs in a pdev
Count the MLO vdevs in a pdev. WLAN_VDEV_FEXT2_MLO feature flag in vdev object is set for all MLO vdevs. Simple solution is to increment/decrement the count on every set/clear of WLAN_VDEV_FEXT2_MLO feature flag. Since this feature flag will be set/clear at multiple places for a given vdev, this approach will lead to wrong MLO vdev count. To fix this we need to increment/decrement the count on first set/first clear of WLAN_VDEV_FEXT2_MLO flag. Add a lock also to prevent the race conditions. CRs-Fixed: 3106235 Change-Id: Ice7edde04553088fbb7c9b769508d441ccd6e4bf
This commit is contained in:

committed by
Madan Koyyalamudi

parent
70a8e8a708
commit
40dacfa471
@@ -530,8 +530,7 @@ void osif_update_partner_vdev_info(struct wlan_objmgr_vdev *vdev,
|
||||
&partner_info.partner_link_info[i].link_addr);
|
||||
if (tmp_vdev) {
|
||||
mlo_update_connect_req_links(tmp_vdev, 1);
|
||||
wlan_vdev_mlme_feat_ext2_cap_set(
|
||||
tmp_vdev, WLAN_VDEV_FEXT2_MLO);
|
||||
wlan_vdev_mlme_set_mlo_vdev(tmp_vdev);
|
||||
wlan_vdev_mlme_feat_ext2_cap_set(
|
||||
tmp_vdev, WLAN_VDEV_FEXT2_MLO_STA_LINK);
|
||||
wlan_vdev_set_link_id(
|
||||
@@ -617,7 +616,7 @@ QDF_STATUS osif_update_mlo_partner_info(
|
||||
}
|
||||
|
||||
wlan_vdev_set_link_id(vdev, linkid);
|
||||
wlan_vdev_mlme_feat_ext2_cap_set(vdev, WLAN_VDEV_FEXT2_MLO);
|
||||
wlan_vdev_mlme_set_mlo_vdev(vdev);
|
||||
}
|
||||
|
||||
qdf_mem_copy(&connect_req->ml_parnter_info,
|
||||
|
Reference in New Issue
Block a user