qcacmn: Implement get current list from reg API

Implement api to get current channel list from regulatory API.

Change-Id: Id0b7aea0c5421fb3033843fd89876a4f1c3528d2
CRs-Fixed: 2062794
This commit is contained in:
Arif Hussain
2017-06-16 14:29:14 -07:00
committed by snandini
parent 49bc225a92
commit 6e26c9c1f8

View File

@@ -425,6 +425,34 @@ static void utils_dfs_get_max_sup_width(struct wlan_objmgr_pdev *pdev,
static void utils_dfs_get_chan_list(struct wlan_objmgr_pdev *pdev, static void utils_dfs_get_chan_list(struct wlan_objmgr_pdev *pdev,
struct dfs_ieee80211_channel *chan_list, uint32_t *num_chan) struct dfs_ieee80211_channel *chan_list, uint32_t *num_chan)
{ {
int i = 0, j = 0;
enum channel_state state;
struct regulatory_channel *cur_chan_list;
cur_chan_list = qdf_mem_malloc(NUM_CHANNELS *
sizeof(struct regulatory_channel));
if (cur_chan_list == NULL)
DFS_PRINTK("%s: fail to alloc\n", __func__);
if (wlan_reg_get_current_chan_list(
pdev, cur_chan_list) != QDF_STATUS_SUCCESS) {
*num_chan = 0;
DFS_PRINTK("%s: failed to get curr channel list\n", __func__);
return;
}
for (i = 0; i < NUM_CHANNELS; i++) {
state = cur_chan_list[i].state;
if (state == CHANNEL_STATE_DFS ||
state == CHANNEL_STATE_ENABLE) {
chan_list[j].dfs_ch_ieee = cur_chan_list[i].chan_num;
chan_list[j].dfs_ch_freq = cur_chan_list[i].center_freq;
j++;
}
}
*num_chan = j;
qdf_mem_free(cur_chan_list);
return; return;
} }
#else #else