Browse Source

qcacld-3.0: Add public API to get the adaptive 11r capability

Adds public API to get the adaptive 11r capability.

Change-Id: Idaa06d76b68cbce00c63d893dd2c99c8712afc48
CRs-Fixed: 2791138
gaurank kathpalia 4 years ago
parent
commit
a63f950985

+ 16 - 0
components/mlme/dispatcher/inc/wlan_mlme_api.h

@@ -2795,6 +2795,22 @@ QDF_STATUS
 wlan_mlme_get_roam_bmiss_first_bcnt(struct wlan_objmgr_psoc *psoc,
 				    uint8_t *val);
 
+/**
+ * wlan_mlme_adaptive_11r_enabled() - check if adaptive 11r feature is enaled
+ * or not
+ * @psoc: pointer to psoc object
+ *
+ * Return: bool
+ */
+#ifdef WLAN_ADAPTIVE_11R
+bool wlan_mlme_adaptive_11r_enabled(struct wlan_objmgr_psoc *psoc);
+#else
+static inline bool wlan_mlme_adaptive_11r_enabled(struct wlan_objmgr_psoc *psoc)
+{
+	return false;
+}
+#endif
+
 /**
  * wlan_mlme_get_mawc_enabled() - Get mawc enabled status
  * @psoc: pointer to psoc object

+ 13 - 0
components/mlme/dispatcher/src/wlan_mlme_api.c

@@ -4281,6 +4281,19 @@ wlan_mlme_get_roam_bmiss_first_bcnt(struct wlan_objmgr_psoc *psoc,
 	return QDF_STATUS_SUCCESS;
 }
 
+#ifdef WLAN_ADAPTIVE_11R
+bool wlan_mlme_adaptive_11r_enabled(struct wlan_objmgr_psoc *psoc)
+{
+	struct wlan_mlme_psoc_ext_obj *mlme_obj;
+
+	mlme_obj = mlme_get_psoc_ext_obj(psoc);
+	if (!mlme_obj)
+		return cfg_default(CFG_ADAPTIVE_11R);
+
+	return mlme_obj->cfg.lfr.enable_adaptive_11r;
+}
+#endif
+
 QDF_STATUS
 wlan_mlme_get_mawc_enabled(struct wlan_objmgr_psoc *psoc, bool *val)
 {

+ 2 - 1
core/sme/src/csr/csr_api_roam.c

@@ -11177,7 +11177,8 @@ csr_roam_get_scan_filter_from_profile(struct mac_context *mac_ctx,
 
 	csr_update_fils_scan_filter(filter, profile);
 
-	csr_update_adaptive_11r_scan_filter(mac_ctx, filter);
+	filter->enable_adaptive_11r =
+		wlan_mlme_adaptive_11r_enabled(mac_ctx->psoc);
 	csr_update_scan_filter_dot11mode(mac_ctx, filter);
 
 	return QDF_STATUS_SUCCESS;

+ 0 - 24
core/sme/src/csr/csr_inside_api.h

@@ -395,30 +395,6 @@ enum csr_cfgdot11mode csr_find_best_phy_mode(struct mac_context *mac,
 void csr_copy_ssids_from_roam_params(struct roam_ext_params *roam_params,
 				     struct scan_filter *filter);
 
-#ifdef WLAN_ADAPTIVE_11R
-/*
- * csr_update_adaptive_11r_scan_filter() - fill adaptive 11r support in filter
- * @mac_ctx: mac ctx
- * @filter: scan filter
- *
- * Return void
- */
-static inline void
-csr_update_adaptive_11r_scan_filter(struct mac_context *mac_ctx,
-				    struct scan_filter *filter)
-{
-	filter->enable_adaptive_11r =
-		   mac_ctx->mlme_cfg->lfr.enable_adaptive_11r;
-}
-#else
-static inline void
-csr_update_adaptive_11r_scan_filter(struct mac_context *mac_ctx,
-				    struct scan_filter *filter)
-{
-	filter->enable_adaptive_11r = false;
-}
-#endif
-
 /*
  * csr_fill_filter_from_vdev_crypto() - fill scan filter crypto from vdev crypto
  * @mac_ctx: csr auth type

+ 2 - 1
core/sme/src/csr/csr_neighbor_roam.c

@@ -416,7 +416,8 @@ csr_neighbor_roam_get_scan_filter_from_profile(struct mac_context *mac,
 
 	csr_update_pmf_cap_from_connected_profile(profile, filter);
 
-	csr_update_adaptive_11r_scan_filter(mac, filter);
+	filter->enable_adaptive_11r =
+		wlan_mlme_adaptive_11r_enabled(mac->psoc);
 	csr_update_scan_filter_dot11mode(mac, filter);
 
 	return QDF_STATUS_SUCCESS;