浏览代码

qcacld-3.0: Add feature flag for connection roaming ini

Currently driver don't have any feature flag for connection
roaming ini config and it directly tries to read the connection
roaming ini file, on some of the platforms if this ini file is
not present it returns failure message but some of the platforms
results in timeout which results in unexpected behavior.

To address above issue add a feature flag to read connection
roaming ini config.

Change-Id: Ica4159533e46ca5cc2048bf50eab2290bf5ae7d5
CRs-Fixed: 3035148
Ashish Kumar Dhanotiya 3 年之前
父节点
当前提交
33ec87f37a
共有 3 个文件被更改,包括 23 次插入3 次删除
  1. 2 0
      Kbuild
  2. 2 0
      configs/default_defconfig
  3. 19 3
      core/hdd/src/wlan_hdd_main.c

+ 2 - 0
Kbuild

@@ -3787,6 +3787,8 @@ cppflags-$(CONFIG_QCACLD_RX_DESC_MULTI_PAGE_ALLOC) += -DRX_DESC_MULTI_PAGE_ALLOC
 #Flag to enable SAR Safety Feature
 cppflags-$(CONFIG_SAR_SAFETY_FEATURE) += -DSAR_SAFETY_FEATURE
 
+cppflags-$(CONFIG_CONNECTION_ROAMING_CFG) += -DCONNECTION_ROAMING_CFG
+
 cppflags-$(CONFIG_WLAN_FEATURE_NEAR_FULL_IRQ) += -DWLAN_FEATURE_NEAR_FULL_IRQ
 cppflags-$(CONFIG_WLAN_FEATURE_DP_EVENT_HISTORY) += -DWLAN_FEATURE_DP_EVENT_HISTORY
 cppflags-$(CONFIG_WLAN_FEATURE_DP_RX_RING_HISTORY) += -DWLAN_FEATURE_DP_RX_RING_HISTORY

+ 2 - 0
configs/default_defconfig

@@ -1087,6 +1087,8 @@ CONFIG_WLAN_DYNAMIC_CVM := y
 #Flag to enable SAR Safety Feature
 CONFIG_SAR_SAFETY_FEATURE := y
 
+CONFIG_CONNECTION_ROAMING_CFG := y
+
 CONFIG_WIFI_POS_CONVERGED := y
 ifneq ($(CONFIG_WIFI_POS_CONVERGED), y)
 CONFIG_WIFI_POS_LEGACY := y

+ 19 - 3
core/hdd/src/wlan_hdd_main.c

@@ -12224,6 +12224,24 @@ static void hdd_cfg_params_init(struct hdd_context *hdd_ctx)
 			cfg_get(psoc, CFG_READ_MAC_ADDR_FROM_MAC_FILE);
 }
 
+#ifdef CONNECTION_ROAMING_CFG
+static QDF_STATUS hdd_cfg_parse_connection_roaming_cfg(void)
+{
+	QDF_STATUS status;
+
+	status = cfg_parse(WLAN_CONNECTION_ROAMING_INI_FILE);
+	if (QDF_IS_STATUS_ERROR(status))
+		status = cfg_parse(WLAN_CONNECTION_ROAMING_BACKUP_INI_FILE);
+
+	return status;
+}
+#else
+static inline QDF_STATUS hdd_cfg_parse_connection_roaming_cfg(void)
+{
+	return QDF_STATUS_SUCCESS;
+}
+#endif
+
 struct hdd_context *hdd_context_create(struct device *dev)
 {
 	QDF_STATUS status;
@@ -12265,9 +12283,7 @@ struct hdd_context *hdd_context_create(struct device *dev)
 		goto err_free_config;
 	}
 
-	status = cfg_parse(WLAN_CONNECTION_ROAMING_INI_FILE);
-	if (QDF_IS_STATUS_ERROR(status))
-		status = cfg_parse(WLAN_CONNECTION_ROAMING_BACKUP_INI_FILE);
+	status = hdd_cfg_parse_connection_roaming_cfg();
 
 	ret = hdd_objmgr_create_and_store_psoc(hdd_ctx, DEFAULT_PSOC_ID);
 	if (ret) {