qcacld-3.0: Rename few SAP APIs & introduce the new wrapper APIs

wlansap_open(), wlansap_close(), wlansap_start(), and wlansap_stop()
APIs are not doing what their names' suggest. Rename these APIs such
a way that they reflect the true meaning of it.

Introduce two new APIs to create and destroy the sap context.

CRs-Fixed: 2147974
Change-Id: Ie0475df480d1b19e796ddf3b639de3078a5a61a0
此提交包含在:
Krunal Soni
2017-11-21 13:42:14 -08:00
提交者 snandini
父節點 29a6c24adf
當前提交 5943765644
共有 4 個檔案被更改,包括 69 行新增29 行删除

查看文件

@@ -236,7 +236,7 @@ hdd_hostapd_init_sap_session(struct hdd_adapter *adapter,
if (reinit)
sap_ctx = adapter->session.ap.sap_context;
else
sap_ctx = wlansap_open();
sap_ctx = sap_create_ctx();
if (!sap_ctx) {
hdd_err("can't allocate the sap_ctx");
@@ -251,7 +251,7 @@ hdd_hostapd_init_sap_session(struct hdd_adapter *adapter,
hdd_err("failed to create objmgr vdev");
goto error;
}
status = wlansap_start(sap_ctx, adapter->device_mode,
status = sap_init_ctx(sap_ctx, adapter->device_mode,
adapter->mac_addr.bytes,
adapter->session_id);
if (QDF_IS_STATUS_ERROR(status)) {
@@ -291,7 +291,7 @@ int hdd_hostapd_deinit_sap_session(struct hdd_adapter *adapter)
return 0;
}
if (!QDF_IS_STATUS_SUCCESS(wlansap_stop(sap_ctx))) {
if (!QDF_IS_STATUS_SUCCESS(sap_deinit_ctx(sap_ctx))) {
hdd_err("Error stopping the sap session");
status = -EINVAL;
}
@@ -299,7 +299,7 @@ int hdd_hostapd_deinit_sap_session(struct hdd_adapter *adapter)
hdd_err("objmgr vdev destroy failed");
status = -EINVAL;
}
if (!QDF_IS_STATUS_SUCCESS(wlansap_close(sap_ctx))) {
if (!QDF_IS_STATUS_SUCCESS(sap_destroy_ctx(sap_ctx))) {
hdd_err("Error closing the sap session");
status = -EINVAL;
}
@@ -6131,6 +6131,25 @@ void hdd_set_ap_ops(struct net_device *dev)
dev->netdev_ops = &net_ops_struct;
}
bool hdd_sap_create_ctx(struct hdd_adapter *adapter)
{
hdd_debug("creating sap context");
adapter->session.ap.sap_context = sap_create_ctx();
if (adapter->session.ap.sap_context)
return true;
return false;
}
bool hdd_sap_destroy_ctx(struct hdd_adapter *adapter)
{
hdd_debug("destroying sap context");
sap_destroy_ctx(adapter->session.ap.sap_context);
adapter->session.ap.sap_context = NULL;
return true;
}
QDF_STATUS hdd_init_ap_mode(struct hdd_adapter *adapter, bool reinit)
{
struct hdd_hostapd_state *phostapdBuf;

查看文件

@@ -139,7 +139,7 @@ int hdd_hostapd_deinit_sap_session(struct hdd_adapter *adapter);
* @adapter: SAP/GO adapter
*
* This API will do
* 1) wlansap_open(), wlansap_start()
* 1) sap_create_ctx(), wlansap_start()
* 2) creates and stores the vdev objects
*
* Return: 0 if success else non-zero value.
@@ -173,6 +173,26 @@ void hdd_deinit_ap_mode(struct hdd_context *hdd_ctx,
struct hdd_adapter *adapter,
bool rtnl_held);
void hdd_set_ap_ops(struct net_device *dev);
/**
* hdd_sap_create_ctx() - Wrapper API to create SAP context
* @adapter: pointer to adapter
*
* This wrapper API can be called to create the sap context. It will
* eventually calls SAP API to create the sap context
*
* Return: true or false based on overall success or failure
*/
bool hdd_sap_create_ctx(struct hdd_adapter *adapter);
/**
* hdd_sap_destroy_ctx() - Wrapper API to destroy SAP context
* @adapter: pointer to adapter
*
* This wrapper API can be called to destroy the sap context. It will
* eventually calls SAP API to destroy the sap context
*
* Return: true or false based on overall success or failure
*/
bool hdd_sap_destroy_ctx(struct hdd_adapter *adapter);
int hdd_hostapd_stop(struct net_device *dev);
int hdd_sap_context_init(struct hdd_context *hdd_ctx);
void hdd_sap_context_destroy(struct hdd_context *hdd_ctx);

查看文件

@@ -784,7 +784,7 @@ typedef struct {
* struct sap_context - per-BSS Context for SAP
*
* struct sap_context is used to share per-BSS context between SAP and
* its clients. A context is generated by wlansap_open() and is
* its clients. A context is generated by sap_create_ctx() and is
* destroyed by wlansap_close(). During the lifetime of the BSS the
* SAP context is passed as the primary parameter to SAP APIs. Note
* that by design the contents of the structure are opaque to the
@@ -793,61 +793,62 @@ typedef struct {
struct sap_context;
/**
* wlansap_open() - WLAN SAP open function call
* sap_create_ctx() - API to create the sap context
*
* Called at BSS initialization to generate a context for the BSS. SAP
* will initialize all its internal resources and will wait for the
* call to wlan_start() to register with the other modules.
* This API assigns the sap context from global sap context pool
* stored in gp_sap_ctx[i] array.
*
* Return: Pointer to the SAP context, or NULL if a context could not
* be allocated
*/
struct sap_context *wlansap_open(void);
struct sap_context *sap_create_ctx(void);
/**
* wlansap_close - close per-BSS SAP
* sap_destroy_ctx - API to destroy the sap context
* @sap_ctx: Pointer to the SAP context
*
* Called during BSS close procedure. SAP will clean up all the
* internal resources.
* This API puts back the given sap context to global sap context pool which
* makes current sap session's sap context invalid.
*
* Return: The result code associated with performing the operation
* QDF_STATUS_E_FAULT: Pointer to SAP cb is NULL;
* access would cause a page fault
* QDF_STATUS_SUCCESS: Success
*/
QDF_STATUS wlansap_close(struct sap_context *sap_ctx);
QDF_STATUS sap_destroy_ctx(struct sap_context *sap_ctx);
/**
* wlansap_start - start per-BSS SAP
* sap_init_ctx - Initialize the sap context
* @sap_ctx: Pointer to the SAP context
* @mode: Device mode
* @addr: MAC address of the SAP
* @session_id: Pointer to the session id
*
* Called as part of the BSS start procedure. SAP will use this call
* to perform all activities needed to start the BSS.
* sap_create_ctx() allocates the sap context which is uninitialized.
* This API needs to be called to properly initialize the sap context
* which is just created.
*
* Return: The result code associated with performing the operation
* QDF_STATUS_E_FAULT: BSS could not be started
* QDF_STATUS_SUCCESS: Success
*/
QDF_STATUS wlansap_start(struct sap_context *sap_ctx,
QDF_STATUS sap_init_ctx(struct sap_context *sap_ctx,
enum QDF_OPMODE mode,
uint8_t *addr, uint32_t session_id);
/**
* wlansap_stop() - stop per-BSS SAP
* sap_deinit_ctx() - De-initialize the sap context
* @sap_ctx: Pointer to the SAP context
*
* Called as part of the BSS stop procedure. SAP will use this call
* to perform all activities needed to stop the BSS.
* When SAP session is about to close, this API needs to be called
* to de-initialize all the members of sap context structure, so that
* nobody can accidently start using the sap context.
*
* Return: The result code associated with performing the operation
* QDF_STATUS_E_FAULT: BSS could not be stopped
* QDF_STATUS_SUCCESS: Success
*/
QDF_STATUS wlansap_stop(struct sap_context *sap_ctx);
QDF_STATUS sap_deinit_ctx(struct sap_context *sap_ctx);
/**
* sap_is_auto_channel_select() - is channel AUTO_CHANNEL_SELECT

查看文件

@@ -251,7 +251,7 @@ void wlansap_context_put(struct sap_context *ctx)
qdf_mutex_release(&sap_context_lock);
}
struct sap_context *wlansap_open(void)
struct sap_context *sap_create_ctx(void)
{
struct sap_context *sap_ctx;
QDF_STATUS status;
@@ -279,9 +279,9 @@ struct sap_context *wlansap_open(void)
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_DEBUG, FL("Exit"));
return sap_ctx;
} /* wlansap_open */
} /* sap_create_ctx */
QDF_STATUS wlansap_start(struct sap_context *sap_ctx,
QDF_STATUS sap_init_ctx(struct sap_context *sap_ctx,
enum QDF_OPMODE mode,
uint8_t *addr, uint32_t session_id)
{
@@ -355,7 +355,7 @@ QDF_STATUS wlansap_start(struct sap_context *sap_ctx,
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlansap_stop(struct sap_context *sap_ctx)
QDF_STATUS sap_deinit_ctx(struct sap_context *sap_ctx)
{
tHalHandle hal;
tpAniSirGlobal pmac;
@@ -393,7 +393,7 @@ QDF_STATUS wlansap_stop(struct sap_context *sap_ctx)
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlansap_close(struct sap_context *sap_ctx)
QDF_STATUS sap_destroy_ctx(struct sap_context *sap_ctx)
{
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH,
"wlansap_close invoked");
@@ -407,7 +407,7 @@ QDF_STATUS wlansap_close(struct sap_context *sap_ctx)
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_DEBUG, FL("Enter"));
/*
* wlansap_context_put will release actual sap_ctx memory
* allocated during wlansap_open
* allocated during sap_create_ctx
*/
wlansap_context_put(sap_ctx);
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_DEBUG, FL("Exit"));