diff --git a/components/mlme/dispatcher/inc/wlan_mlme_api.h b/components/mlme/dispatcher/inc/wlan_mlme_api.h index 888f18268bb2..3277a92b1fcc 100644 --- a/components/mlme/dispatcher/inc/wlan_mlme_api.h +++ b/components/mlme/dispatcher/inc/wlan_mlme_api.h @@ -544,6 +544,16 @@ QDF_STATUS wlan_mlme_set_sap_listen_interval(struct wlan_objmgr_psoc *psoc, QDF_STATUS wlan_mlme_set_assoc_sta_limit(struct wlan_objmgr_psoc *psoc, int value); +/** + * wlan_mlme_get_assoc_sta_limit() - Get the assoc sta limit + * @psoc: pointer to psoc object + * @value: Pointer to value that needs to be filled by MLME + * + * Return: QDF Status + */ +QDF_STATUS wlan_mlme_get_assoc_sta_limit(struct wlan_objmgr_psoc *psoc, + int *value); + /** * wlan_mlme_set_sap_get_peer_info() - get the sap get peer info * @psoc: pointer to psoc object diff --git a/components/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h b/components/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h index 02dbdc2c707c..8d739a4e40ca 100644 --- a/components/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h +++ b/components/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h @@ -1623,6 +1623,22 @@ QDF_STATUS ucfg_mlme_set_assoc_sta_limit(struct wlan_objmgr_psoc *psoc, return wlan_mlme_set_assoc_sta_limit(psoc, value); } +/** + * ucfg_mlme_get_assoc_sta_limit() - Get the assoc sta limit + * @psoc: pointer to psoc object + * @value: Pointer to variable that needs to be filled by MLME + * + * Inline UCFG API to be used by HDD/OSIF callers + * + * Return: QDF Status + */ +static inline +QDF_STATUS ucfg_mlme_get_assoc_sta_limit(struct wlan_objmgr_psoc *psoc, + int *value) +{ + return wlan_mlme_get_assoc_sta_limit(psoc, value); +} + /** * ucfg_mlme_get_listen_interval() - Get listen interval * @psoc: pointer to psoc object diff --git a/components/mlme/dispatcher/src/wlan_mlme_api.c b/components/mlme/dispatcher/src/wlan_mlme_api.c index 04984aa0d6a5..c8454e4b0c89 100644 --- a/components/mlme/dispatcher/src/wlan_mlme_api.c +++ b/components/mlme/dispatcher/src/wlan_mlme_api.c @@ -1744,6 +1744,20 @@ QDF_STATUS wlan_mlme_set_assoc_sta_limit(struct wlan_objmgr_psoc *psoc, return QDF_STATUS_SUCCESS; } +QDF_STATUS wlan_mlme_get_assoc_sta_limit(struct wlan_objmgr_psoc *psoc, + int *value) +{ + struct wlan_mlme_psoc_ext_obj *mlme_obj; + + mlme_obj = mlme_get_psoc_ext_obj(psoc); + if (!mlme_obj) + return QDF_STATUS_E_FAILURE; + + *value = mlme_obj->cfg.sap_cfg.assoc_sta_limit; + + return QDF_STATUS_SUCCESS; +} + QDF_STATUS wlan_mlme_get_sap_get_peer_info(struct wlan_objmgr_psoc *psoc, bool *value) { diff --git a/core/hdd/src/wlan_hdd_hostapd_wext.c b/core/hdd/src/wlan_hdd_hostapd_wext.c index 690cf177f73d..559899b16efe 100644 --- a/core/hdd/src/wlan_hdd_hostapd_wext.c +++ b/core/hdd/src/wlan_hdd_hostapd_wext.c @@ -1141,7 +1141,7 @@ static __iw_softap_getparam(struct net_device *dev, switch (sub_cmd) { case QCSAP_PARAM_MAX_ASSOC: - if (ucfg_mlme_set_assoc_sta_limit(hdd_ctx->psoc, *value) != + if (ucfg_mlme_get_assoc_sta_limit(hdd_ctx->psoc, value) != QDF_STATUS_SUCCESS) { hdd_err("CFG_ASSOC_STA_LIMIT failed"); ret = -EIO; diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c index 643045dacc21..d95ea8353e3d 100644 --- a/core/hdd/src/wlan_hdd_wext.c +++ b/core/hdd/src/wlan_hdd_wext.c @@ -5360,7 +5360,7 @@ static int __iw_setnone_getint(struct net_device *dev, } case WE_GET_MAX_ASSOC: { - if (ucfg_mlme_set_assoc_sta_limit(hdd_ctx->psoc, *value) != + if (ucfg_mlme_get_assoc_sta_limit(hdd_ctx->psoc, value) != QDF_STATUS_SUCCESS) { hdd_err("CFG_ASSOC_STA_LIMIT failed"); ret = -EIO;