qcacld-3.0: Add ini support to disable regulatory channels
Currently regulatory channels are disabled for QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT vendor command event if ini coex_unsafe_chan_nb_user_prefer is not set and if STA operates on disabled channels which results in crash for STA interface in STA + SAP SCC case. Hence coex_unsafe_chan_reg_disable ini is controlled based on coex_unsafe_chan_nb_user_prefer. Ini behavior summary: |----------------|----------------------|-------------|--------------------------------| |User prefer ini | Reg chan disable ini | PLs | Expectation | | | | | | |----------------|----------------------|-------------|--------------------------------| | 1 | 1 | LE | accept freq ext command and | | | | | disable the regulatory channel| |----------------|----------------------|-------------|--------------------------------| | 0 | 0 | Non-Pixel SP| reject freq ext cmd driver and | | | | | returns NOT SUPP | |----------------|----------------------|-------------|--------------------------------| | 1 | 0 | Pixel SP | accept freq ext command and | | | | | Don't disable the reg channels| |----------------|----------------------|-------------|--------------------------------| Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f856 CRs-Fixed: 3128908
This commit is contained in:

committed by
Madan Koyyalamudi

parent
f8ac5388dc
commit
8fbe1e4593
@@ -2395,15 +2395,27 @@ static void mlme_init_acs_avoid_freq_list(struct wlan_objmgr_psoc *psoc,
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_WLAN_CH_AVOID_EXT
|
||||
static void mlme_init_unsafe_coex_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_mlme_reg *reg)
|
||||
static void mlme_init_coex_unsafe_chan_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_mlme_reg *reg)
|
||||
{
|
||||
reg->coex_unsafe_chan_nb_user_prefer =
|
||||
cfg_get(psoc, CFG_COEX_UNSAFE_CHAN_NB_USER_PREFER);
|
||||
}
|
||||
|
||||
static void mlme_init_coex_unsafe_chan_reg_disable_cfg(
|
||||
struct wlan_objmgr_psoc *psoc, struct wlan_mlme_reg *reg)
|
||||
{
|
||||
reg->coex_unsafe_chan_reg_disable =
|
||||
cfg_get(psoc, CFG_COEX_UNSAFE_CHAN_REG_DISABLE);
|
||||
}
|
||||
#else
|
||||
static void mlme_init_unsafe_coex_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_mlme_reg *reg)
|
||||
static void mlme_init_coex_unsafe_chan_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_mlme_reg *reg)
|
||||
{
|
||||
}
|
||||
|
||||
static void mlme_init_coex_unsafe_chan_reg_disable_cfg(
|
||||
struct wlan_objmgr_psoc *psoc, struct wlan_mlme_reg *reg)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
@@ -2434,7 +2446,8 @@ static void mlme_init_reg_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
cfg_get(psoc, CFG_INDOOR_CHANNEL_SUPPORT_FOR_NAN);
|
||||
|
||||
mlme_init_acs_avoid_freq_list(psoc, reg);
|
||||
mlme_init_unsafe_coex_cfg(psoc, reg);
|
||||
mlme_init_coex_unsafe_chan_cfg(psoc, reg);
|
||||
mlme_init_coex_unsafe_chan_reg_disable_cfg(psoc, reg);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user