diff options
| author | Yingying Tang <yintang@qti.qualcomm.com> | 2015-12-23 17:11:08 +0800 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2015-12-31 15:17:58 +0530 |
| commit | d76fa45974610e5d71a0966c946d565fd033c2f7 (patch) | |
| tree | cfd1fb918e5d18c6e734c3deb049f907333b36bd | |
| parent | 9145ef36848f22a6d36629e37d711efc70ac0635 (diff) | |
qcacld-2.0: Add a new ini item to control the INDOOR channels support
After "qcacld-2.0: Mark indoor only channels as passive in wiphy",
the indoor channel will unconditionally be set to IEEE80211_CHAN_PASSIVE_SCAN
in driver. Add logic to report INDOOR channel as passive channel only when
gindoor_channel_support is FALSE.
Change-Id: Iab55a394a28ff452c06c739f3fbd47506eda85eb
CRs-Fixed: 955272
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_cfg.h | 10 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg.c | 8 | ||||
| -rw-r--r-- | CORE/VOSS/src/vos_nvitem.c | 14 |
3 files changed, 27 insertions, 5 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h index 4016a20a372d..55c343f4233d 100644 --- a/CORE/HDD/inc/wlan_hdd_cfg.h +++ b/CORE/HDD/inc/wlan_hdd_cfg.h @@ -3479,6 +3479,15 @@ enum dot11p_mode { #define CFG_WOW_PULSE_INTERVAL_HIGH_DEFAULT (20) #endif +/* + * Support to start sap in indoor channel + * Customer can config this item to enable/disable sap in indoor channel + * Default: Disable + */ +#define CFG_INDOOR_CHANNEL_SUPPORT_NAME "gindoor_channel_support" +#define CFG_INDOOR_CHANNEL_SUPPORT_MIN (0) +#define CFG_INDOOR_CHANNEL_SUPPORT_MAX (1) +#define CFG_INDOOR_CHANNEL_SUPPORT_DEFAULT (0) /*--------------------------------------------------------------------------- Type declarations @@ -4186,6 +4195,7 @@ typedef struct #endif bool enable_go_cts2self_for_sta; uint8_t ht_mpdu_density; + bool indoor_channel_support; } hdd_config_t; #ifdef WLAN_FEATURE_MBSSID diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c index 0426e4cda8d5..f8c11b4d7703 100644 --- a/CORE/HDD/src/wlan_hdd_cfg.c +++ b/CORE/HDD/src/wlan_hdd_cfg.c @@ -4267,6 +4267,14 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_ENABLE_GO_CTS2SELF_FOR_STA_DEFAULT, CFG_ENABLE_GO_CTS2SELF_FOR_STA_MIN, CFG_ENABLE_GO_CTS2SELF_FOR_STA_MAX), + + REG_VARIABLE(CFG_INDOOR_CHANNEL_SUPPORT_NAME, + WLAN_PARAM_Integer, + hdd_config_t, indoor_channel_support, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_INDOOR_CHANNEL_SUPPORT_DEFAULT, + CFG_INDOOR_CHANNEL_SUPPORT_MIN, + CFG_INDOOR_CHANNEL_SUPPORT_MAX), }; #ifdef WLAN_FEATURE_MBSSID diff --git a/CORE/VOSS/src/vos_nvitem.c b/CORE/VOSS/src/vos_nvitem.c index 1be73c7bbf02..45df6dbfb614 100644 --- a/CORE/VOSS/src/vos_nvitem.c +++ b/CORE/VOSS/src/vos_nvitem.c @@ -1347,13 +1347,17 @@ static int create_linux_regulatory_entry(struct wiphy *wiphy, } /* nv cannot distinguish between DFS and passive channels */ - else if (wiphy->bands[i]->channels[j].flags & - (IEEE80211_CHAN_RADAR | IEEE80211_CHAN_PASSIVE_SCAN | - IEEE80211_CHAN_INDOOR_ONLY)) + else if ((wiphy->bands[i]->channels[j].flags & + (IEEE80211_CHAN_RADAR | IEEE80211_CHAN_PASSIVE_SCAN)) || + ((pHddCtx->cfg_ini->indoor_channel_support == FALSE) && + (wiphy->bands[i]->channels[j].flags & + IEEE80211_CHAN_INDOOR_ONLY))) { - if (wiphy->bands[i]->channels[j].flags & - IEEE80211_CHAN_INDOOR_ONLY) + if ((wiphy->bands[i]->channels[j].flags & + IEEE80211_CHAN_INDOOR_ONLY) && + (FALSE == + pHddCtx->cfg_ini->indoor_channel_support)) wiphy->bands[i]->channels[j].flags |= IEEE80211_CHAN_PASSIVE_SCAN; |
