diff --git a/components/nan/core/src/nan_api.c b/components/nan/core/src/nan_api.c index 8e435faa120a..ecad74af553c 100644 --- a/components/nan/core/src/nan_api.c +++ b/components/nan/core/src/nan_api.c @@ -70,7 +70,6 @@ static void nan_cfg_dp_init(struct wlan_objmgr_psoc *psoc, return; nan_obj->cfg_param.dp_enable = cfg_get(psoc, CFG_NAN_DATAPATH_ENABLE); - nan_obj->cfg_param.ndi_ch = cfg_get(psoc, CFG_NAN_NDI_CHANNEL); nan_obj->cfg_param.ndi_mac_randomize = cfg_get(psoc, CFG_NAN_RANDOMIZE_NDI_MAC); } diff --git a/components/nan/core/src/nan_main_i.h b/components/nan/core/src/nan_main_i.h index a431dfc9999f..91b7284070fb 100644 --- a/components/nan/core/src/nan_main_i.h +++ b/components/nan/core/src/nan_main_i.h @@ -80,7 +80,6 @@ enum nan_disc_state { * struct nan_cfg_params - NAN INI config params * @enable: NAN feature enable * @dp_enable: NAN Datapath feature enable - * @ndi_ch: NAN Datapath channel * @ndi_mac_randomize: Randomize NAN datapath interface MAC */ struct nan_cfg_params { @@ -89,7 +88,6 @@ struct nan_cfg_params { #endif #ifdef WLAN_FEATURE_NAN_DATAPATH bool dp_enable; - uint32_t ndi_ch; bool ndi_mac_randomize; #endif }; diff --git a/components/nan/dispatcher/inc/cfg_nan.h b/components/nan/dispatcher/inc/cfg_nan.h index 394ff20d4d90..41cf95273c78 100644 --- a/components/nan/dispatcher/inc/cfg_nan.h +++ b/components/nan/dispatcher/inc/cfg_nan.h @@ -72,31 +72,6 @@ 0, \ "Enable NAN Datapath support") -/* - * - * gnan_datapath_ndi_channel - Default channel for NAN Datapath - * @Min: 6 - * @Max: 149 - * @Default: 6 - * - * Host suggests this channel for NAN datapath. But FW is free to - * choose other channels based on system constraints. - * - * Related: genable_nan_datapath - * - * Supported Feature: NAN - * - * Usage: External - * - * - */ -/* - * NAN channel on which NAN data interface to start - */ -#define CFG_NAN_NDI_CHANNEL CFG_INI_UINT("gnan_datapath_ndi_channel", \ - 6, 149, 6, \ - CFG_VALUE_OR_DEFAULT, \ - "NAN Datapath Channel") /* * * gEnableNDIMacRandomization - When enabled this will randomize NDI Mac @@ -126,7 +101,6 @@ #ifdef WLAN_FEATURE_NAN_DATAPATH #define CFG_NAN_DP CFG(CFG_NAN_DATAPATH_ENABLE) \ - CFG(CFG_NAN_NDI_CHANNEL) \ CFG(CFG_NAN_RANDOMIZE_NDI_MAC) #else #define CFG_NAN_DP diff --git a/components/nan/dispatcher/inc/cfg_nan_api.h b/components/nan/dispatcher/inc/cfg_nan_api.h index c37821c97357..f2f1580ae4a2 100644 --- a/components/nan/dispatcher/inc/cfg_nan_api.h +++ b/components/nan/dispatcher/inc/cfg_nan_api.h @@ -53,14 +53,6 @@ static inline bool cfg_nan_get_enable(struct wlan_objmgr_psoc *psoc) */ bool cfg_nan_get_datapath_enable(struct wlan_objmgr_psoc *psoc); -/** - * cfg_nan_get_ndi_channel() - get NAN Datapath channel - * @psoc: pointer to psoc object - * - * This function returns NAN Datapath channel - */ -uint32_t cfg_nan_get_ndi_channel(struct wlan_objmgr_psoc *psoc); - /** * cfg_nan_get_ndi_mac_randomize() - get NDI MAC randomize enable status * @psoc: pointer to psoc object @@ -74,11 +66,6 @@ static inline bool cfg_nan_get_datapath_enable(struct wlan_objmgr_psoc *psoc) return false; } -static inline uint32_t cfg_nan_get_ndi_channel(struct wlan_objmgr_psoc *psoc) -{ - return 0; -} - static inline bool cfg_nan_get_ndi_mac_randomize(struct wlan_objmgr_psoc *psoc) { return false; diff --git a/components/nan/dispatcher/src/cfg_nan.c b/components/nan/dispatcher/src/cfg_nan.c index 5b852da1f947..fd113fd54275 100644 --- a/components/nan/dispatcher/src/cfg_nan.c +++ b/components/nan/dispatcher/src/cfg_nan.c @@ -56,17 +56,6 @@ bool cfg_nan_get_datapath_enable(struct wlan_objmgr_psoc *psoc) return nan_obj->cfg_param.dp_enable; } -uint32_t cfg_nan_get_ndi_channel(struct wlan_objmgr_psoc *psoc) -{ - struct nan_psoc_priv_obj *nan_obj = cfg_nan_get_priv_obj(psoc); - - if (!nan_obj) { - nan_err("NAN obj null"); - return 0; - } - return nan_obj->cfg_param.ndi_ch; -} - bool cfg_nan_get_ndi_mac_randomize(struct wlan_objmgr_psoc *psoc) { struct nan_psoc_priv_obj *nan_obj = cfg_nan_get_priv_obj(psoc); diff --git a/core/hdd/src/wlan_hdd_nan_datapath.c b/core/hdd/src/wlan_hdd_nan_datapath.c index 7bd5d481b230..319d7af0f441 100644 --- a/core/hdd/src/wlan_hdd_nan_datapath.c +++ b/core/hdd/src/wlan_hdd_nan_datapath.c @@ -547,8 +547,8 @@ int hdd_ndi_open(char *iface_name) int hdd_ndi_start(char *iface_name, uint16_t transaction_id) { int ret; - uint8_t op_channel; QDF_STATUS status; + uint8_t op_channel; struct hdd_adapter *adapter; struct hdd_context *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD); @@ -558,7 +558,6 @@ int hdd_ndi_start(char *iface_name, uint16_t transaction_id) return -EINVAL; } - op_channel = cfg_nan_get_ndi_channel(hdd_ctx->psoc); adapter = hdd_get_adapter_by_iface_name(hdd_ctx, iface_name); if (!adapter) { hdd_err("adapter is null"); @@ -588,13 +587,16 @@ int hdd_ndi_start(char *iface_name, uint16_t transaction_id) * layer initiates connect / join / start, the NAN data * interface does not have any such formal requests. The NDI * create request is responsible for starting the BSS as well. + * Use the 5GHz Band NAN Social channel for BSS start if target + * supports it, since a 2.4GHz channel will require a DBS HW mode change + * first on a DBS 2x2 MAC target. Use a 2.4 GHz Band NAN Social channel + * if the target is not 5GHz capable. */ - if (op_channel != NAN_SOCIAL_CHANNEL_2_4GHZ && - op_channel != NAN_SOCIAL_CHANNEL_5GHZ_LOWER_BAND && - op_channel != NAN_SOCIAL_CHANNEL_5GHZ_UPPER_BAND) { - /* start NDI on the default 2.4 GHz social channel */ + + if (hdd_is_5g_supported(hdd_ctx)) + op_channel = NAN_SOCIAL_CHANNEL_5GHZ_LOWER_BAND; + else op_channel = NAN_SOCIAL_CHANNEL_2_4GHZ; - } if (hdd_ndi_start_bss(adapter, op_channel)) { hdd_err("NDI start bss failed");