Merge "qcacmn: Configure Allowed Channels and ACS Allowed Channels"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
fa056a3e14
@@ -243,4 +243,23 @@ void dfs_mlme_restart_vaps_with_non_dfs_chan(struct wlan_objmgr_pdev *pdev,
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* dfs_mlme_check_allowed_prim_chanlist() - Check whether the given channel is
|
||||||
|
* present in the primary allowed channel list or not
|
||||||
|
* @pdev: Pointer to DFS pdev object.
|
||||||
|
* @chan_num: Channel number
|
||||||
|
*/
|
||||||
|
#if defined(WLAN_SUPPORT_PRIMARY_ALLOWED_CHAN)
|
||||||
|
bool dfs_mlme_check_allowed_prim_chanlist(struct wlan_objmgr_pdev *pdev,
|
||||||
|
uint32_t chan_num);
|
||||||
|
|
||||||
|
#else
|
||||||
|
static inline
|
||||||
|
bool dfs_mlme_check_allowed_prim_chanlist(struct wlan_objmgr_pdev *pdev,
|
||||||
|
uint32_t chan_num)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif /* _WLAN_DFS_MLME_API_H_ */
|
#endif /* _WLAN_DFS_MLME_API_H_ */
|
||||||
|
@@ -54,6 +54,9 @@
|
|||||||
* @mlme_rebuild_chan_list_with_non_dfs_channel: Rebuild channels with non-dfs
|
* @mlme_rebuild_chan_list_with_non_dfs_channel: Rebuild channels with non-dfs
|
||||||
* channels.
|
* channels.
|
||||||
* @mlme_restart_vaps_with_non_dfs_chan: Restart vaps with non-dfs channel.
|
* @mlme_restart_vaps_with_non_dfs_chan: Restart vaps with non-dfs channel.
|
||||||
|
* @mlme_check_allowed_prim_chanlist: Check whether the given channel is
|
||||||
|
* present in the primary allowed channel
|
||||||
|
* list or not.
|
||||||
*/
|
*/
|
||||||
struct dfs_to_mlme {
|
struct dfs_to_mlme {
|
||||||
QDF_STATUS (*pdev_component_obj_attach)(struct wlan_objmgr_pdev *pdev,
|
QDF_STATUS (*pdev_component_obj_attach)(struct wlan_objmgr_pdev *pdev,
|
||||||
@@ -130,6 +133,8 @@ struct dfs_to_mlme {
|
|||||||
(struct wlan_objmgr_pdev *pdev);
|
(struct wlan_objmgr_pdev *pdev);
|
||||||
QDF_STATUS (*mlme_restart_vaps_with_non_dfs_chan)
|
QDF_STATUS (*mlme_restart_vaps_with_non_dfs_chan)
|
||||||
(struct wlan_objmgr_pdev *pdev, int no_chans_avail);
|
(struct wlan_objmgr_pdev *pdev, int no_chans_avail);
|
||||||
|
bool (*mlme_check_allowed_prim_chanlist)
|
||||||
|
(struct wlan_objmgr_pdev *pdev, uint32_t chan_num);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct dfs_to_mlme global_dfs_to_mlme;
|
extern struct dfs_to_mlme global_dfs_to_mlme;
|
||||||
|
@@ -83,6 +83,8 @@ void register_dfs_callbacks(void)
|
|||||||
mlme_dfs_rebuild_chan_list_with_non_dfs_channels;
|
mlme_dfs_rebuild_chan_list_with_non_dfs_channels;
|
||||||
tmp_dfs_to_mlme->mlme_restart_vaps_with_non_dfs_chan =
|
tmp_dfs_to_mlme->mlme_restart_vaps_with_non_dfs_chan =
|
||||||
mlme_dfs_restart_vaps_with_non_dfs_chan;
|
mlme_dfs_restart_vaps_with_non_dfs_chan;
|
||||||
|
tmp_dfs_to_mlme->mlme_check_allowed_prim_chanlist =
|
||||||
|
mlme_dfs_check_allowed_prim_chanlist;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
void register_dfs_callbacks(void)
|
void register_dfs_callbacks(void)
|
||||||
|
@@ -305,3 +305,15 @@ void dfs_mlme_restart_vaps_with_non_dfs_chan(struct wlan_objmgr_pdev *pdev,
|
|||||||
no_chans_avail);
|
no_chans_avail);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(WLAN_SUPPORT_PRIMARY_ALLOWED_CHAN)
|
||||||
|
bool dfs_mlme_check_allowed_prim_chanlist(struct wlan_objmgr_pdev *pdev,
|
||||||
|
uint32_t chan_num)
|
||||||
|
{
|
||||||
|
if (!global_dfs_to_mlme.mlme_check_allowed_prim_chanlist)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return global_dfs_to_mlme.mlme_check_allowed_prim_chanlist(pdev,
|
||||||
|
chan_num);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
* to outside of DFS component.
|
* to outside of DFS component.
|
||||||
*/
|
*/
|
||||||
#include "wlan_dfs_utils_api.h"
|
#include "wlan_dfs_utils_api.h"
|
||||||
|
#include "wlan_dfs_mlme_api.h"
|
||||||
#include "../../core/src/dfs.h"
|
#include "../../core/src/dfs.h"
|
||||||
#include "../../core/src/dfs_zero_cac.h"
|
#include "../../core/src/dfs_zero_cac.h"
|
||||||
#include "../../core/src/dfs_etsi_precac.h"
|
#include "../../core/src/dfs_etsi_precac.h"
|
||||||
@@ -545,6 +546,9 @@ static void utils_dfs_get_channel_list(struct wlan_objmgr_pdev *pdev,
|
|||||||
center_freq = tmp_chan_list[i].dfs_ch_freq;
|
center_freq = tmp_chan_list[i].dfs_ch_freq;
|
||||||
flagext = tmp_chan_list[i].dfs_ch_flagext;
|
flagext = tmp_chan_list[i].dfs_ch_flagext;
|
||||||
|
|
||||||
|
if (!dfs_mlme_check_allowed_prim_chanlist(pdev, chan_num))
|
||||||
|
continue;
|
||||||
|
|
||||||
if ((is_curchan_5g) && WLAN_REG_IS_5GHZ_CH(chan_num)) {
|
if ((is_curchan_5g) && WLAN_REG_IS_5GHZ_CH(chan_num)) {
|
||||||
chan_list[j].dfs_ch_ieee = chan_num;
|
chan_list[j].dfs_ch_ieee = chan_num;
|
||||||
chan_list[j].dfs_ch_freq = center_freq;
|
chan_list[j].dfs_ch_freq = center_freq;
|
||||||
|
Reference in New Issue
Block a user