qcacld-3.0: Set dp peer flags for single link ML roaming
In case of single link mlo roaming, set both dp peer flags is_first_link and is_primary_link to 1, then datapath will create MLD peer. Change-Id: I935c42b2c3eaa558028d45bdbf502007723f656c CRs-Fixed: 3271224
此提交包含在:
@@ -456,6 +456,7 @@ struct mlme_ap_config {
|
||||
* @vdev_traffic_type: to set if vdev is LOW_LATENCY or HIGH_TPUT
|
||||
* @country_ie_for_all_band: take all band channel info in country ie
|
||||
* @mlme_ap: SAP related vdev private configurations
|
||||
* @is_single_link_mlo_roam: Single link mlo roam flag
|
||||
*/
|
||||
struct mlme_legacy_priv {
|
||||
bool chan_switch_in_progress;
|
||||
@@ -511,6 +512,9 @@ struct mlme_legacy_priv {
|
||||
uint8_t vdev_traffic_type;
|
||||
bool country_ie_for_all_band;
|
||||
struct mlme_ap_config mlme_ap;
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
|
||||
bool is_single_link_mlo_roam;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -502,6 +502,27 @@ void mlme_vdev_self_peer_delete_resp(struct del_vdev_params *param);
|
||||
*/
|
||||
void mlme_vdev_del_resp(uint8_t vdev_id);
|
||||
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
|
||||
/**
|
||||
* mlme_set_single_link_mlo_roaming() - to set single link mlo roaming
|
||||
* @vdev: vdev pointer
|
||||
* @val: single link mlo roaming value true/false
|
||||
*
|
||||
* This API will set single link mlo roaming value.
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
mlme_set_single_link_mlo_roaming(struct wlan_objmgr_vdev *vdev, bool val);
|
||||
|
||||
/**
|
||||
* mlme_get_single_link_mlo_roaming() - get single link mlo roaming
|
||||
* @vdev: vdev pointer
|
||||
*
|
||||
* Return: single link mlo roaming boolean value true/false
|
||||
*/
|
||||
bool mlme_get_single_link_mlo_roaming(struct wlan_objmgr_vdev *vdev);
|
||||
#endif
|
||||
/**
|
||||
* wlan_sap_disconnect_all_p2p_client() - send SAP disconnect all P2P
|
||||
* client event to the SAP event handler
|
||||
|
@@ -1227,6 +1227,37 @@ int8_t mlme_get_max_reg_power(struct wlan_objmgr_vdev *vdev)
|
||||
return vdev_mlme->mgmt.generic.maxregpower;
|
||||
}
|
||||
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
|
||||
QDF_STATUS
|
||||
mlme_set_single_link_mlo_roaming(struct wlan_objmgr_vdev *vdev, bool val)
|
||||
{
|
||||
struct mlme_legacy_priv *mlme_priv;
|
||||
|
||||
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
|
||||
if (!mlme_priv) {
|
||||
mlme_legacy_err("vdev legacy private object is NULL");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
mlme_priv->is_single_link_mlo_roam = val;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
bool mlme_get_single_link_mlo_roaming(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct mlme_legacy_priv *mlme_priv;
|
||||
|
||||
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
|
||||
if (!mlme_priv) {
|
||||
mlme_legacy_err("vdev legacy private object is NULL");
|
||||
return false;
|
||||
}
|
||||
|
||||
return mlme_priv->is_single_link_mlo_roam;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* mlme_get_vdev_types() - get vdev type and subtype from its operation mode
|
||||
* @mode: operation mode of vdev
|
||||
|
新增問題並參考
封鎖使用者