Explorar el Código

qcacld-3.0: Add missed calling of wlan_hdd_get_station_remote

Propagation from qcacld-2.0 to qcacld-3.0

For the sap role, .get_station would invoke
wlan_hdd_get_station_remote() or wlan_hdd_get_sap_stats(), depends on
"gSapGetPeerInfo" ini setting. And fix the logic of determine sap get
peer info enable or not by target capability.

CRs-Fixed: 2427627
Change-Id: I3162950a6a7202d55b64ff9c60a26971d3a31555
Will Huang hace 6 años
padre
commit
e9b9132f7e

+ 10 - 0
mlme/dispatcher/inc/wlan_mlme_api.h

@@ -533,6 +533,16 @@ QDF_STATUS wlan_mlme_set_rmc_action_period_freq(struct wlan_objmgr_psoc *psoc,
 QDF_STATUS wlan_mlme_get_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
 					   bool *value);
 
+/**
+ * wlan_mlme_set_sap_get_peer_info() - set the sap get peer info
+ * @psoc: pointer to psoc object
+ * @value: value to overwrite the sap get peer info
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS wlan_mlme_set_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
+					   bool value);
+
 /**
  * wlan_mlme_is_sap_bcast_deauth_enabled() - get the enable/disable value
  *                                           for broadcast deauth in sap

+ 16 - 0
mlme/dispatcher/inc/wlan_mlme_ucfg_api.h

@@ -1397,6 +1397,22 @@ QDF_STATUS ucfg_mlme_get_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
 	return wlan_mlme_get_sap_get_peer_info(psoc, value);
 }
 
+/**
+ * ucfg_mlme_set_sap_get_peer_info() - set the sap get peer info
+ * @psoc: pointer to psoc object
+ * @value: value to overwrite the sap get peer info
+ *
+ * Inline UCFG API to be used by HDD/OSIF callers
+ *
+ * Return: QDF Status
+ */
+static inline
+QDF_STATUS ucfg_mlme_set_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
+					   bool value)
+{
+	return wlan_mlme_set_sap_get_peer_info(psoc, value);
+}
+
 /**
  * ucfg_mlme_is_sap_bcast_deauth_enabled() - get the sap bcast deauth
  *                                           enabled value

+ 14 - 0
mlme/dispatcher/src/wlan_mlme_api.c

@@ -1611,6 +1611,20 @@ QDF_STATUS wlan_mlme_get_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
 	return QDF_STATUS_SUCCESS;
 }
 
+QDF_STATUS wlan_mlme_set_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
+					   bool value)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj;
+
+	mlme_obj = mlme_get_psoc_obj(psoc);
+	if (!mlme_obj)
+		return QDF_STATUS_E_FAILURE;
+
+	mlme_obj->cfg.sap_cfg.sap_get_peer_info = value;
+
+	return QDF_STATUS_SUCCESS;
+}
+
 QDF_STATUS
 wlan_mlme_is_sap_bcast_deauth_enabled(struct wlan_objmgr_psoc *psoc,
 				      bool *value)