Merge commit 'ef3473af12' into wlan-cmn.driver.lnx.2.0.8.r3-rel

Change-Id: Ia0700cbbac8ece18fd3ccb5d2f251e9916273e90
This commit is contained in:
sumap 2023-11-16 12:23:54 +05:30
commit ea22f337f5
2 changed files with 32 additions and 8 deletions

View file

@ -4823,6 +4823,19 @@ enum qca_wlan_vendor_attr_config {
*/
QCA_WLAN_VENDOR_ATTR_CONFIG_FT_OVER_DS = 80,
/*
* 8-bit unsigned value. This attribute can be used to configure the
* firmware to enable/disable ARP/NS offload feature. Possible values
* for this attribute are 0-Disable and 1-Enable.
*
* This attribute is only applicable for STA/P2P-Client interface,
* and is optional, default behavior is APR/NS offload Enable.
*
* This attribute can be set in disconncted and connected state, and
* will restore to default behavior if interface is closed.
*/
QCA_WLAN_VENDOR_ATTR_CONFIG_ARP_NS_OFFLOAD = 81,
/* 8-bit unsigned value, whenever wifi calling (wfc) begin or end,
* Userspace sends this information to driver/firmware to configure
* wfc state. Driver/Firmware uses this information to

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)