qcacmn: Update set_disable_channel_list cmd for 6 GHz channels

Currently SET_DISABLE_CHANNEL_LIST command is used to disable
legacy channels only.

Update this command to accept frequency for all the bands along with
the channel numbers from legacy (2.4 GHz/5 GHz) and update the
channel state in secondary channel list also.

Change-Id: Iecc9f73dca65900d82a2f2a044cb854cea58c638
CRs-Fixed: 3601253
This commit is contained in:
Krupali Dhanvijay 2023-08-28 13:23:03 +05:30 • committed by Rahul Choudhary
commit ef3473af12

View file

@ -722,7 +722,9 @@ static void reg_modify_chan_list_for_cached_channels(
{
uint32_t i, j;
uint32_t num_cache_channels = pdev_priv_obj->num_cache_channels;
struct regulatory_channel *chan_list = pdev_priv_obj->cur_chan_list;
struct regulatory_channel *cur_chan_list = pdev_priv_obj->cur_chan_list;
struct regulatory_channel *sec_chan_list =
pdev_priv_obj->secondary_cur_chan_list;
struct regulatory_channel *cache_chan_list =
pdev_priv_obj->cache_disable_chan_list;
@ -730,15 +732,24 @@ static void reg_modify_chan_list_for_cached_channels(
return;
if (pdev_priv_obj->disable_cached_channels) {
for (i = 0; i < num_cache_channels; i++)
for (j = 0; j < NUM_CHANNELS; j++)
for (i = 0; i < num_cache_channels; i++) {
for (j = 0; j < NUM_CHANNELS; j++) {
if (cache_chan_list[i].center_freq ==
chan_list[j].center_freq) {
chan_list[j].state =
cur_chan_list[j].center_freq) {
cur_chan_list[j].state =
CHANNEL_STATE_DISABLE;
chan_list[j].chan_flags |=
cur_chan_list[j].chan_flags |=
REGULATORY_CHAN_DISABLED;
}
if (cache_chan_list[i].center_freq ==
sec_chan_list[j].center_freq) {
sec_chan_list[j].state =
CHANNEL_STATE_DISABLE;
sec_chan_list[j].chan_flags |=
REGULATORY_CHAN_DISABLED;
}
}
}
}
}
#else
@ -1278,8 +1289,6 @@ void reg_compute_pdev_current_chan_list(struct wlan_regulatory_pdev_priv_obj
reg_modify_chan_list_for_chan_144(pdev_priv_obj->cur_chan_list,
pdev_priv_obj->en_chan_144);
reg_modify_chan_list_for_cached_channels(pdev_priv_obj);
reg_modify_chan_list_for_srd_channels(pdev_priv_obj->pdev_ptr,
pdev_priv_obj->cur_chan_list);
@ -1292,6 +1301,8 @@ void reg_compute_pdev_current_chan_list(struct wlan_regulatory_pdev_priv_obj
cur_chan_list);
reg_populate_secondary_cur_chan_list(pdev_priv_obj);
reg_modify_chan_list_for_cached_channels(pdev_priv_obj);
}
void reg_reset_reg_rules(struct reg_rule_info *reg_rules)