qcacld-3.0: Add lock to Set/clear WLAN_VDEV_FEXT2_MLO_STA_LINK flag

Currently, this MLO flag is being set/clear without regard for
concurrency. We need to lock the vdev when updating these values to
prevent race condition.

Change-Id: I7b1e6424d6fcedc6934a9f6aa1d01068a2b43277
CRs-Fixed: 3305564
This commit is contained in:
David Oladunjoye
2022-09-30 16:57:36 -07:00
committed by Madan Koyyalamudi
parent 39477b258e
commit b31db9db49

View File

@@ -75,8 +75,7 @@ mlo_update_for_multi_link_roam(struct wlan_objmgr_psoc *psoc,
} }
wlan_vdev_mlme_set_mlo_vdev(vdev); wlan_vdev_mlme_set_mlo_vdev(vdev);
wlan_vdev_mlme_feat_ext2_cap_set(vdev, wlan_vdev_mlme_set_mlo_link_vdev(vdev);
WLAN_VDEV_FEXT2_MLO_STA_LINK);
mlo_update_connect_req_links(vdev, true); mlo_update_connect_req_links(vdev, true);
@@ -92,8 +91,7 @@ mlo_cleanup_link(struct wlan_objmgr_vdev *vdev, bool is_legacy)
if (wlan_vdev_mlme_is_mlo_link_vdev(vdev)) { if (wlan_vdev_mlme_is_mlo_link_vdev(vdev)) {
cm_cleanup_mlo_link(vdev); cm_cleanup_mlo_link(vdev);
wlan_vdev_mlme_feat_ext2_cap_clear(vdev, wlan_vdev_mlme_clear_mlo_link_vdev(vdev);
WLAN_VDEV_FEXT2_MLO_STA_LINK);
} }
} }
@@ -145,8 +143,7 @@ mlo_clear_link_bmap(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id)
mlo_clear_connect_req_links_bmap(vdev); mlo_clear_connect_req_links_bmap(vdev);
wlan_vdev_mlme_clear_mlo_vdev(vdev); wlan_vdev_mlme_clear_mlo_vdev(vdev);
if (wlan_vdev_mlme_is_mlo_link_vdev(vdev)) if (wlan_vdev_mlme_is_mlo_link_vdev(vdev))
wlan_vdev_mlme_feat_ext2_cap_clear(vdev, wlan_vdev_mlme_clear_mlo_link_vdev(vdev);
WLAN_VDEV_FEXT2_MLO_STA_LINK);
wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_SB_ID); wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_SB_ID);
} }