qcacld-3.0: Add src, and dst id support in SME

In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg

Replace the scheduler_post_msg with scheduler_post_message

Change-Id: If929a98b8b9d5b1b9c8f0291876e410a3dfbdf49
CRs-Fixed: 2305983
This commit is contained in:
gaurank kathpalia 2018-08-28 17:45:43 +05:30 • committed by nshrivas
commit 36b0c58a5d
4 changed files with 406 additions and 166 deletions

File diff suppressed because it is too large Load diff

View file

@ -46,8 +46,10 @@ static QDF_STATUS sme_post_ps_msg_to_wma(uint16_t type, void *body)
msg.bodyptr = body;
msg.bodyval = 0;
if (QDF_STATUS_SUCCESS != scheduler_post_msg(
QDF_MODULE_ID_WMA, &msg)) {
if (QDF_STATUS_SUCCESS != scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
&msg)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
"%s: Posting message %d failed",
__func__, type);
@ -641,7 +643,9 @@ QDF_STATUS sme_set_ps_host_offload(tHalHandle hal_ctx,
MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
session_id, msg.type));
if (QDF_STATUS_SUCCESS !=
scheduler_post_msg(QDF_MODULE_ID_WMA, &msg)) {
scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA, &msg)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
FL("Not able to post WMA_SET_HOST_OFFLOAD msg to WMA"));
qdf_mem_free(request_buf);
@ -691,7 +695,9 @@ QDF_STATUS sme_set_ps_ns_offload(tHalHandle hal_ctx,
MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
session_id, msg.type));
if (QDF_STATUS_SUCCESS !=
scheduler_post_msg(QDF_MODULE_ID_WMA, &msg)) {
scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA, &msg)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
"Not able to post SIR_HAL_SET_HOST_OFFLOAD message to HAL");
qdf_mem_free(request_buf);
@ -723,8 +729,10 @@ QDF_STATUS sme_post_pe_message(tpAniSirGlobal mac_ctx,
{
QDF_STATUS qdf_status;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_PE,
msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_PE,
QDF_MODULE_ID_PE,
msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
sme_err("scheduler_post_msg failed with status: %d",
qdf_status);

View file

@ -1210,8 +1210,10 @@ QDF_STATUS csr_update_channel_list(tpAniSirGlobal pMac)
pChanList->numChan = num_channel;
MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
NO_SESSION, msg.type));
if (QDF_STATUS_SUCCESS != scheduler_post_msg(QDF_MODULE_ID_WMA,
&msg)) {
if (QDF_STATUS_SUCCESS != scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
&msg)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_FATAL,
"%s: Failed to post msg to WMA", __func__);
qdf_mem_free(pChanList);
@ -6934,8 +6936,10 @@ static void csr_roam_synch_clean_up(tpAniSirGlobal mac, uint8_t session_id)
msg.type = WMA_ROAM_OFFLOAD_SYNCH_FAIL;
msg.reserved = 0;
msg.bodyptr = roam_offload_failed;
if (!QDF_IS_STATUS_SUCCESS(scheduler_post_msg(QDF_MODULE_ID_WMA,
&msg))) {
if (!QDF_IS_STATUS_SUCCESS(scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
&msg))) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"%s: Unable to post WMA_ROAM_OFFLOAD_SYNCH_FAIL to WMA",
__func__);
@ -16890,7 +16894,9 @@ QDF_STATUS csr_send_mb_set_context_req_msg(tpAniSirGlobal pMac,
msg.type = eWNI_SME_SETCONTEXT_REQ;
msg.bodyptr = pMsg;
status = scheduler_post_msg(QDF_MODULE_ID_PE, &msg);
status = scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_PE,
QDF_MODULE_ID_PE, &msg);
if (QDF_IS_STATUS_ERROR(status))
qdf_mem_free(pMsg);
} while (0);
@ -17270,7 +17276,9 @@ QDF_STATUS csr_issue_add_sta_for_session_req(tpAniSirGlobal pMac,
sme_debug(
"Send WMA_ADD_STA_SELF_REQ for selfMac=" MAC_ADDRESS_STR,
MAC_ADDR_ARRAY(add_sta_self_req->self_mac_addr));
status = scheduler_post_msg(QDF_MODULE_ID_WMA, &msg);
status = scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA, &msg);
if (status != QDF_STATUS_SUCCESS) {
sme_err("wma_post_ctrl_msg failed");
@ -18087,8 +18095,10 @@ QDF_STATUS csr_get_rssi(tpAniSirGlobal pMac,
msg.type = eWNI_SME_GET_RSSI_REQ;
msg.bodyptr = pMsg;
msg.reserved = 0;
if (QDF_STATUS_SUCCESS != scheduler_post_msg(QDF_MODULE_ID_SME,
&msg)) {
if (QDF_STATUS_SUCCESS != scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME,
&msg)) {
sme_err("scheduler_post_msg failed to post msg to self");
qdf_mem_free((void *)pMsg);
status = QDF_STATUS_E_FAILURE;
@ -18128,8 +18138,10 @@ QDF_STATUS csr_get_snr(tpAniSirGlobal pMac,
msg.bodyptr = pMsg;
msg.reserved = 0;
if (QDF_STATUS_SUCCESS != scheduler_post_msg(QDF_MODULE_ID_SME,
&msg)) {
if (QDF_STATUS_SUCCESS != scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME,
&msg)) {
sme_err("failed to post msg to self");
qdf_mem_free((void *)pMsg);
status = QDF_STATUS_E_FAILURE;
@ -19090,7 +19102,10 @@ QDF_STATUS csr_invoke_neighbor_report_request(uint8_t session_id,
msg.reserved = 0;
msg.bodyptr = invoke_params;
if (QDF_STATUS_SUCCESS != scheduler_post_msg(QDF_MODULE_ID_WMA, &msg)) {
if (QDF_STATUS_SUCCESS != scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
&msg)) {
sme_err("Not able to post message to WMA");
qdf_mem_free(invoke_params);
return QDF_STATUS_E_FAILURE;
@ -19560,8 +19575,10 @@ csr_roam_offload_per_scan(tpAniSirGlobal mac_ctx, uint8_t session_id)
msg.type = WMA_SET_PER_ROAM_CONFIG_CMD;
msg.reserved = 0;
msg.bodyptr = req_buf;
if (!QDF_IS_STATUS_SUCCESS(scheduler_post_msg(QDF_MODULE_ID_WMA,
&msg))) {
if (!QDF_IS_STATUS_SUCCESS(scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
&msg))) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"%s: Unable to post WMA_SET_PER_ROAM_CONFIG_CMD to WMA",
__func__);
@ -20723,8 +20740,10 @@ QDF_STATUS csr_handoff_request(tpAniSirGlobal pMac,
msg.type = eWNI_SME_HANDOFF_REQ;
msg.bodyptr = pMsg;
msg.reserved = 0;
if (QDF_STATUS_SUCCESS != scheduler_post_msg(QDF_MODULE_ID_SME,
&msg)) {
if (QDF_STATUS_SUCCESS != scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME,
&msg)) {
sme_err("scheduler_post_msg failed to post msg to self");
qdf_mem_free((void *)pMsg);
status = QDF_STATUS_E_FAILURE;

View file

@ -103,8 +103,10 @@ QDF_STATUS sme_nan_request(tpNanRequestReq input)
msg.reserved = 0;
msg.bodyptr = data;
if (QDF_STATUS_SUCCESS != scheduler_post_msg(QDF_MODULE_ID_WMA,
&msg)) {
if (QDF_STATUS_SUCCESS != scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
&msg)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
"Not able to post WMA_NAN_REQUEST message to WMA");
qdf_mem_free(data);