qcacld-3.0: Move NAN cfg params init to PSOC open
NAN config param initialization from CFG component is done during PSOC object created notification. But as per component design it must be done at psoc open to avoid CFG component not initialized case. Thus update nan component to reorganize NAN cfg params init. Change-Id: I9636b527b796202e55a57c28d604795a705de026 CRs-fixed: 2489286
This commit is contained in:
parent
2fa572f8ff
commit
4e66c9a73a
@ -29,54 +29,6 @@
|
||||
#include "wlan_objmgr_psoc_obj.h"
|
||||
#include "wlan_objmgr_pdev_obj.h"
|
||||
#include "wlan_objmgr_vdev_obj.h"
|
||||
#include "cfg_nan.h"
|
||||
#include "cfg_ucfg_api.h"
|
||||
|
||||
#ifdef WLAN_FEATURE_NAN
|
||||
/**
|
||||
* nan_cfg_init() - Initialize NAN config params
|
||||
* @psoc: Pointer to PSOC Object
|
||||
* @nan_obj: Pointer to NAN private object
|
||||
*
|
||||
* This function initialize NAN config params
|
||||
*/
|
||||
static void nan_cfg_init(struct wlan_objmgr_psoc *psoc,
|
||||
struct nan_psoc_priv_obj *nan_obj)
|
||||
{
|
||||
if (!psoc || !nan_obj)
|
||||
return;
|
||||
|
||||
nan_obj->cfg_param.enable = cfg_get(psoc, CFG_NAN_ENABLE);
|
||||
}
|
||||
|
||||
/**
|
||||
* nan_cfg_dp_init() - Initialize NAN Datapath config params
|
||||
* @psoc: Pointer to PSOC Object
|
||||
* @nan_obj: Pointer to NAN private object
|
||||
*
|
||||
* This function initialize NAN config params
|
||||
*/
|
||||
static void nan_cfg_dp_init(struct wlan_objmgr_psoc *psoc,
|
||||
struct nan_psoc_priv_obj *nan_obj)
|
||||
{
|
||||
if (!psoc || !nan_obj)
|
||||
return;
|
||||
nan_obj->cfg_param.dp_enable = cfg_get(psoc,
|
||||
CFG_NAN_DATAPATH_ENABLE);
|
||||
nan_obj->cfg_param.ndi_mac_randomize =
|
||||
cfg_get(psoc, CFG_NAN_RANDOMIZE_NDI_MAC);
|
||||
}
|
||||
#else
|
||||
static void nan_cfg_init(struct wlan_objmgr_psoc *psoc,
|
||||
struct nan_psoc_priv_obj *nan_obj)
|
||||
{
|
||||
}
|
||||
|
||||
static void nan_cfg_dp_init(struct wlan_objmgr_psoc *psoc,
|
||||
struct nan_psoc_priv_obj *nan_obj)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
static QDF_STATUS nan_psoc_obj_created_notification(
|
||||
struct wlan_objmgr_psoc *psoc, void *arg_list)
|
||||
@ -100,8 +52,6 @@ static QDF_STATUS nan_psoc_obj_created_notification(
|
||||
goto nan_psoc_notif_failed;
|
||||
}
|
||||
|
||||
nan_cfg_init(psoc, nan_obj);
|
||||
nan_cfg_dp_init(psoc, nan_obj);
|
||||
target_if_nan_register_tx_ops(&nan_obj->tx_ops);
|
||||
target_if_nan_register_rx_ops(&nan_obj->rx_ops);
|
||||
|
||||
|
@ -37,6 +37,22 @@
|
||||
QDF_STATUS ucfg_nan_set_ndi_state(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t state);
|
||||
|
||||
/**
|
||||
* ucfg_nan_psoc_open: Setup NAN priv object params on PSOC open
|
||||
* @psoc: Pointer to PSOC object
|
||||
*
|
||||
* Return: QDF Status of operation
|
||||
*/
|
||||
QDF_STATUS ucfg_nan_psoc_open(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* ucfg_nan_psoc_close: Clean up NAN priv data on PSOC close
|
||||
* @psoc: Pointer to PSOC object
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void ucfg_nan_psoc_close(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* ucfg_nan_get_ndi_state: get ndi state from vdev obj
|
||||
* @vdev: pointer to vdev object
|
||||
@ -321,5 +337,15 @@ ucfg_nan_check_and_disable_unsupported_ndi(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS ucfg_nan_psoc_open(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline void ucfg_nan_psoc_close(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* WLAN_FEATURE_NAN */
|
||||
#endif /* _NAN_UCFG_API_H_ */
|
||||
|
@ -30,10 +30,73 @@
|
||||
#include "wlan_objmgr_vdev_obj.h"
|
||||
#include "wlan_osif_request_manager.h"
|
||||
#include "wlan_policy_mgr_api.h"
|
||||
#include "cfg_ucfg_api.h"
|
||||
#include "cfg_nan.h"
|
||||
|
||||
struct wlan_objmgr_psoc;
|
||||
struct wlan_objmgr_vdev;
|
||||
|
||||
#ifdef WLAN_FEATURE_NAN
|
||||
/**
|
||||
* nan_cfg_init() - Initialize NAN config params
|
||||
* @psoc: Pointer to PSOC Object
|
||||
* @nan_obj: Pointer to NAN private object
|
||||
*
|
||||
* This function initialize NAN config params
|
||||
*/
|
||||
static void nan_cfg_init(struct wlan_objmgr_psoc *psoc,
|
||||
struct nan_psoc_priv_obj *nan_obj)
|
||||
{
|
||||
nan_obj->cfg_param.enable = cfg_get(psoc, CFG_NAN_ENABLE);
|
||||
}
|
||||
|
||||
/**
|
||||
* nan_cfg_dp_init() - Initialize NAN Datapath config params
|
||||
* @psoc: Pointer to PSOC Object
|
||||
* @nan_obj: Pointer to NAN private object
|
||||
*
|
||||
* This function initialize NAN config params
|
||||
*/
|
||||
static void nan_cfg_dp_init(struct wlan_objmgr_psoc *psoc,
|
||||
struct nan_psoc_priv_obj *nan_obj)
|
||||
{
|
||||
nan_obj->cfg_param.dp_enable = cfg_get(psoc,
|
||||
CFG_NAN_DATAPATH_ENABLE);
|
||||
nan_obj->cfg_param.ndi_mac_randomize =
|
||||
cfg_get(psoc, CFG_NAN_RANDOMIZE_NDI_MAC);
|
||||
}
|
||||
#else
|
||||
static void nan_cfg_init(struct wlan_objmgr_psoc *psoc,
|
||||
struct nan_psoc_priv_obj *nan_obj)
|
||||
{
|
||||
}
|
||||
|
||||
static void nan_cfg_dp_init(struct wlan_objmgr_psoc *psoc,
|
||||
struct nan_psoc_priv_obj *nan_obj)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
QDF_STATUS ucfg_nan_psoc_open(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
struct nan_psoc_priv_obj *nan_obj = nan_get_psoc_priv_obj(psoc);
|
||||
|
||||
if (!nan_obj) {
|
||||
nan_err("nan psoc priv object is NULL");
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
}
|
||||
|
||||
nan_cfg_init(psoc, nan_obj);
|
||||
nan_cfg_dp_init(psoc, nan_obj);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
void ucfg_nan_psoc_close(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
/* No cleanup required on psoc close for NAN */
|
||||
}
|
||||
|
||||
inline QDF_STATUS ucfg_nan_set_ndi_state(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t state)
|
||||
{
|
||||
|
@ -172,6 +172,7 @@
|
||||
#include <wlan_hdd_debugfs_coex.h>
|
||||
#include "wlan_blm_ucfg_api.h"
|
||||
#include "ol_txrx.h"
|
||||
#include "nan_ucfg_api.h"
|
||||
|
||||
#ifdef MODULE
|
||||
#define WLAN_MODULE_NAME module_name(THIS_MODULE)
|
||||
@ -13661,8 +13662,14 @@ QDF_STATUS hdd_component_psoc_open(struct wlan_objmgr_psoc *psoc)
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
goto err_tdls;
|
||||
|
||||
status = ucfg_nan_psoc_open(psoc);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
goto err_nan;
|
||||
|
||||
return status;
|
||||
|
||||
err_nan:
|
||||
ucfg_nan_psoc_close(psoc);
|
||||
err_tdls:
|
||||
ucfg_tdls_psoc_close(psoc);
|
||||
err_p2p:
|
||||
|
Loading…
Reference in New Issue
Block a user