qcacmn: Enable Fils Discovery frame sending in 6GHz SAP
To enhance visibility of 6GHz AP, 6G only AP shall send Fils Discovery frame periodically in one beacon interval. Change-Id: I51487380fca10418d2260dc2612e2adcf6cbb93b CRs-Fixed: 2562434
Этот коммит содержится в:

коммит произвёл
nshrivas

родитель
9a8d2a2825
Коммит
49472056b2
@@ -343,6 +343,7 @@ QDF_STATUS vdev_mgr_up_send(struct vdev_mlme_obj *mlme_obj)
|
||||
struct beacon_tmpl_params bcn_tmpl_param = {0};
|
||||
enum QDF_OPMODE opmode;
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
struct config_fils_params fils_param = {0};
|
||||
|
||||
if (!mlme_obj) {
|
||||
mlme_err("VDEV_MLME is NULL");
|
||||
@@ -370,6 +371,17 @@ QDF_STATUS vdev_mgr_up_send(struct vdev_mlme_obj *mlme_obj)
|
||||
return status;
|
||||
|
||||
status = tgt_vdev_mgr_up_send(mlme_obj, ¶m);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
return status;
|
||||
|
||||
if (opmode == QDF_SAP_MODE && mlme_obj->vdev->vdev_mlme.des_chan &&
|
||||
WLAN_REG_IS_6GHZ_CHAN_FREQ(
|
||||
mlme_obj->vdev->vdev_mlme.des_chan->ch_freq)) {
|
||||
fils_param.vdev_id = wlan_vdev_get_id(mlme_obj->vdev);
|
||||
fils_param.fd_period = DEFAULT_FILS_DISCOVERY_PERIOD;
|
||||
status = tgt_vdev_mgr_fils_enable_send(mlme_obj,
|
||||
&fils_param);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
@@ -221,6 +221,33 @@ QDF_STATUS tgt_vdev_mgr_beacon_tmpl_send(
|
||||
struct vdev_mlme_obj *mlme_obj,
|
||||
struct beacon_tmpl_params *param);
|
||||
|
||||
#if defined(WLAN_SUPPORT_FILS) || defined(CONFIG_BAND_6GHZ)
|
||||
/**
|
||||
* tgt_vdev_mgr_fils_enable_send()- API to send fils enable command
|
||||
* @mlme_obj: pointer to vdev_mlme_obj
|
||||
* @param: pointer to config_fils_params struct
|
||||
*
|
||||
* Return: QDF_STATUS - Success or Failure
|
||||
*/
|
||||
QDF_STATUS tgt_vdev_mgr_fils_enable_send(
|
||||
struct vdev_mlme_obj *mlme_obj,
|
||||
struct config_fils_params *param);
|
||||
#else
|
||||
/**
|
||||
* tgt_vdev_mgr_fils_enable_send()- API to send fils enable command
|
||||
* @mlme_obj: pointer to vdev_mlme_obj
|
||||
* @param: pointer to config_fils_params struct
|
||||
*
|
||||
* Return: QDF_STATUS - Success or Failure
|
||||
*/
|
||||
static inline QDF_STATUS tgt_vdev_mgr_fils_enable_send(
|
||||
struct vdev_mlme_obj *mlme_obj,
|
||||
struct config_fils_params *param)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* tgt_vdev_mgr_multiple_vdev_restart_send() – API to send multiple vdev
|
||||
* restart
|
||||
|
@@ -267,6 +267,21 @@ struct peer_flush_params {
|
||||
uint8_t peer_mac[QDF_MAC_ADDR_SIZE];
|
||||
};
|
||||
|
||||
/* Default FILS DISCOVERY sent in period of 20TU */
|
||||
#define DEFAULT_FILS_DISCOVERY_PERIOD 20
|
||||
|
||||
/**
|
||||
* struct config_fils_params - FILS config params
|
||||
* @vdev_id: vdev id
|
||||
* @fd_period: 0 - Disabled, non-zero - Period in ms (mili seconds)
|
||||
* @send_prb_rsp_frame: send broadcast prb resp frame
|
||||
*/
|
||||
struct config_fils_params {
|
||||
uint8_t vdev_id;
|
||||
uint32_t fd_period;
|
||||
uint32_t send_prb_rsp_frame: 1;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct config_ratemask_params - ratemask config parameters
|
||||
* @vdev_id: vdev id
|
||||
|
@@ -479,6 +479,33 @@ QDF_STATUS tgt_vdev_mgr_beacon_tmpl_send(
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
#if defined(WLAN_SUPPORT_FILS) || defined(CONFIG_BAND_6GHZ)
|
||||
QDF_STATUS tgt_vdev_mgr_fils_enable_send(
|
||||
struct vdev_mlme_obj *mlme_obj,
|
||||
struct config_fils_params *param)
|
||||
{
|
||||
QDF_STATUS status;
|
||||
struct wlan_lmac_if_mlme_tx_ops *txops;
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
uint8_t vdev_id;
|
||||
|
||||
vdev = mlme_obj->vdev;
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
txops = wlan_vdev_mlme_get_lmac_txops(vdev);
|
||||
if (!txops || !txops->vdev_fils_enable_send) {
|
||||
mlme_err("VDEV_%d: No Tx Ops fils Enable", vdev_id);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
status = txops->vdev_fils_enable_send(vdev, param);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
mlme_err("VDEV_%d: Tx Ops fils Enable Error : %d",
|
||||
vdev_id, status);
|
||||
|
||||
return status;
|
||||
}
|
||||
#endif
|
||||
|
||||
QDF_STATUS tgt_vdev_mgr_multiple_vdev_restart_send(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct multiple_vdev_restart_params *param)
|
||||
|
Ссылка в новой задаче
Block a user