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

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: I73a0f11bd6ea4edb0d4c8871d9e217e16f756e58
CRs-Fixed: 2305991
This commit is contained in:
gaurank kathpalia 2018-08-28 19:16:12 +05:30 • committed by nshrivas
commit 00861f036c
9 changed files with 106 additions and 36 deletions

View file

@ -48,7 +48,9 @@
QDF_STATUS wma_post_ctrl_msg(tpAniSirGlobal pMac, struct scheduler_msg *pMsg)
{
if (QDF_STATUS_SUCCESS !=
scheduler_post_msg(QDF_MODULE_ID_WMA, pMsg))
scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA, pMsg))
return QDF_STATUS_E_FAILURE;
else
return QDF_STATUS_SUCCESS;

View file

@ -1835,7 +1835,9 @@ static void wma_set_thermal_level_ind(u_int8_t level)
sme_msg.bodyptr = NULL;
sme_msg.bodyval = level;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status))
WMA_LOGE(FL(
"Fail to post set thermal level ind msg"));
@ -2142,7 +2144,9 @@ send_response:
cds_msg.bodyval = 0;
if (QDF_STATUS_SUCCESS !=
scheduler_post_msg(QDF_MODULE_ID_SME, &cds_msg)) {
scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &cds_msg)) {
WMA_LOGE("%s: could not post peer info rsp msg to SME",
__func__);
/* free the mem and return */
@ -3153,7 +3157,9 @@ wma_indicate_err(
cds_msg.type = eWNI_SME_MIC_FAILURE_IND;
cds_msg.bodyptr = (void *) mic_err_ind;
if (QDF_STATUS_SUCCESS !=
scheduler_post_msg(QDF_MODULE_ID_SME,
scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME,
&cds_msg)) {
WMA_LOGE("%s: mic failure ind post to SME failed",
__func__);

View file

@ -421,7 +421,9 @@ static inline void wma_send_del_sta_self_resp(struct del_sta_self_params *param)
sme_msg.type = eWNI_SME_DEL_STA_SELF_RSP;
sme_msg.bodyptr = param;
status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(status)) {
WMA_LOGE("Failed to post eWNI_SME_DEL_STA_SELF_RSP");
qdf_mem_free(param);
@ -2596,7 +2598,9 @@ end:
sme_msg.bodyptr = self_sta_req;
sme_msg.bodyval = 0;
status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(status)) {
WMA_LOGE("Failed to post eWNI_SME_ADD_STA_SELF_RSP");
qdf_mem_free(self_sta_req);

View file

@ -199,7 +199,9 @@ static int wma_wake_reason_auto_shutdown(void)
sme_msg.bodyptr = auto_sh_evt;
sme_msg.bodyval = 0;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE("Fail to post eWNI_SME_AUTO_SHUTDOWN_IND msg to SME");
qdf_mem_free(auto_sh_evt);
@ -403,7 +405,9 @@ int wma_vdev_tsf_handler(void *handle, uint8_t *data, uint32_t data_len)
tsf_msg.bodyval = 0;
if (QDF_STATUS_SUCCESS !=
scheduler_post_msg(QDF_MODULE_ID_SME, &tsf_msg)) {
scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &tsf_msg)) {
WMA_LOGP("%s: Failed to post eWNI_SME_TSF_EVENT", __func__);
qdf_mem_free(ptsf);
@ -1274,7 +1278,9 @@ int wma_nan_rsp_event_handler(void *handle, uint8_t *event_buf,
message.bodyptr = (void *)nan_rsp_event;
message.bodyval = 0;
status = scheduler_post_msg(QDF_MODULE_ID_SME, &message);
status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &message);
if (status != QDF_STATUS_SUCCESS) {
WMA_LOGE("%s: Failed to post NaN response event to SME",
__func__);
@ -3776,7 +3782,9 @@ static void wma_send_status_of_ext_wow(tp_wma_handle wma, bool status)
message.bodyptr = (void *)ready_to_extwow;
message.bodyval = 0;
vstatus = scheduler_post_msg(QDF_MODULE_ID_SME, &message);
vstatus = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &message);
if (vstatus != QDF_STATUS_SUCCESS) {
WMA_LOGE("Failed to post ready to suspend");
qdf_mem_free(ready_to_extwow);
@ -5751,7 +5759,9 @@ int wma_wlan_bt_activity_evt_handler(void *handle, uint8_t *event, uint32_t len)
sme_msg.bodyptr = NULL;
sme_msg.bodyval = fixed_param->coex_profile_evt;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (QDF_IS_STATUS_ERROR(qdf_status)) {
WMA_LOGE(FL("Failed to post msg to SME"));
return -EINVAL;

View file

@ -578,7 +578,9 @@ int wma_cli_set2_command(int vdev_id, int param_id, int sval1,
msg.bodyptr = iwcmd;
if (QDF_STATUS_SUCCESS !=
scheduler_post_msg(QDF_MODULE_ID_WMA, &msg)) {
scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA, &msg)) {
WMA_LOGE("%s: Failed to post WMA_CLI_SET_CMD msg",
__func__);
qdf_mem_free(iwcmd);
@ -1740,7 +1742,9 @@ static int wma_process_fw_event_mc_thread_ctx(void *ctx, void *ev)
cds_msg.flush_callback = wma_discard_fw_event;
if (QDF_STATUS_SUCCESS !=
scheduler_post_msg(QDF_MODULE_ID_WMA, &cds_msg)) {
scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA, &cds_msg)) {
WMA_LOGE("%s: Failed to post WMA_PROCESS_FW_EVENT msg",
__func__);
qdf_nbuf_free(ev);
@ -1961,7 +1965,9 @@ static void wma_shutdown_notifier_cb(void *priv)
msg.bodyptr = priv;
msg.callback = wma_cleanup_vdev_resp_and_hold_req;
status = scheduler_post_msg(QDF_MODULE_ID_TARGET_IF, &msg);
status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_TARGET_IF, &msg);
if (QDF_IS_STATUS_ERROR(status))
WMA_LOGE(FL("Failed to post SYS_MSG_ID_CLEAN_VDEV_RSP_QUEUE"));
}
@ -3722,7 +3728,9 @@ QDF_STATUS wma_pre_start(void)
wma_msg.bodyptr = NULL;
wma_msg.bodyval = 0;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_WMA, &wma_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA, &wma_msg);
if (QDF_STATUS_SUCCESS != qdf_status) {
WMA_LOGE("%s: Failed to post WNI_CFG_DNLD_REQ msg", __func__);
QDF_ASSERT(0);
@ -8893,7 +8901,9 @@ int wma_lro_init(struct cdp_lro_hash_config *lro_config)
msg.bodyptr = iwcmd;
if (QDF_STATUS_SUCCESS !=
scheduler_post_msg(QDF_MODULE_ID_WMA, &msg)) {
scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA, &msg)) {
WMA_LOGE("Failed to post WMA_LRO_CONFIG_CMD msg!");
qdf_mem_free(iwcmd);
return -EAGAIN;

View file

@ -96,7 +96,9 @@ int wma_ocb_set_config_resp(tp_wma_handle wma_handle, uint8_t status)
msg.type = eWNI_SME_OCB_SET_CONFIG_RSP;
msg.bodyptr = resp;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE(FL("Fail to post msg to SME"));
qdf_mem_free(resp);
@ -442,7 +444,9 @@ static int wma_ocb_get_tsf_timer_resp_event_handler(void *handle,
msg.type = eWNI_SME_OCB_GET_TSF_TIMER_RSP;
msg.bodyptr = response;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE(FL("Failed to post msg to SME"));
qdf_mem_free(response);
@ -528,7 +532,9 @@ static int wma_dcc_get_stats_resp_event_handler(void *handle,
msg.type = eWNI_SME_DCC_GET_STATS_RSP;
msg.bodyptr = response;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE(FL("Failed to post msg to SME"));
qdf_mem_free(response);
@ -620,7 +626,9 @@ static int wma_dcc_update_ndl_resp_event_handler(void *handle,
msg.type = eWNI_SME_DCC_UPDATE_NDL_RSP;
msg.bodyptr = resp;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE(FL("Failed to post msg to SME"));
qdf_mem_free(resp);
@ -681,7 +689,9 @@ static int wma_dcc_stats_event_handler(void *handle, uint8_t *event_buf,
msg.type = eWNI_SME_DCC_STATS_EVENT;
msg.bodyptr = response;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE(FL("Failed to post msg to SME"));
qdf_mem_free(response);

View file

@ -1216,7 +1216,9 @@ int wma_pdev_temperature_evt_handler(void *handle, uint8_t *event,
sme_msg.bodyptr = NULL;
sme_msg.bodyval = wmi_event->value;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status))
WMA_LOGE(FL("Fail to post get temperature ind msg"));
return 0;

View file

@ -1675,8 +1675,10 @@ QDF_STATUS wma_process_roaming_config(tp_wma_handle wma_handle,
* SME with proper reason code.
*/
if (QDF_STATUS_SUCCESS !=
scheduler_post_msg(QDF_MODULE_ID_SME,
&cds_msg)) {
scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME,
&cds_msg)) {
qdf_mem_free(scan_offload_rsp);
QDF_TRACE(QDF_MODULE_ID_WMA,
QDF_TRACE_LEVEL_INFO,
@ -2971,7 +2973,9 @@ static void wma_roam_ho_fail_handler(tp_wma_handle wma, uint32_t vdev_id)
sme_msg.bodyptr = ho_failure_ind;
sme_msg.bodyval = 0;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE("Fail to post eWNI_SME_HO_FAIL_IND msg to SME");
qdf_mem_free(ho_failure_ind);
@ -5091,8 +5095,10 @@ void wma_roam_better_ap_handler(tp_wma_handle wma, uint32_t vdev_id)
QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_INFO,
FL("posting candidate ind to SME"));
if (QDF_STATUS_SUCCESS != scheduler_post_msg(QDF_MODULE_ID_SCAN,
&cds_msg)) {
if (QDF_STATUS_SUCCESS != scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SCAN,
&cds_msg)) {
qdf_mem_free(candidate_ind);
QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR,
FL("Failed to post candidate ind to SME"));

View file

@ -352,7 +352,10 @@ void wma_lost_link_info_handler(tp_wma_handle wma, uint32_t vdev_id,
WMA_LOGD("%s: post msg to SME, bss_idx %d, rssi %d", __func__,
lost_link_info->vdev_id, lost_link_info->rssi);
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME,
&sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE("%s: fail to post msg to SME", __func__);
qdf_mem_free(lost_link_info);
@ -470,7 +473,9 @@ int wma_stats_ext_event_handler(void *handle, uint8_t *event_buf,
cds_msg.bodyptr = (void *)stats_ext_event;
cds_msg.bodyval = 0;
status = scheduler_post_msg(QDF_MODULE_ID_SME, &cds_msg);
status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &cds_msg);
if (status != QDF_STATUS_SUCCESS) {
WMA_LOGE("%s: Failed to post stats ext event to SME", __func__);
qdf_mem_free(stats_ext_event);
@ -1210,7 +1215,9 @@ static int wma_ll_stats_evt_handler(void *handle, u_int8_t *event,
sme_msg.type = eWMI_SME_LL_STATS_IND;
sme_msg.bodyptr = (void *)link_stats_results;
sme_msg.bodyval = 0;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGP(FL("Failed to post peer stat change msg!"));
qdf_mem_free(link_stats_results);
@ -1867,7 +1874,9 @@ static int wma_peer_ps_evt_handler(void *handle, u_int8_t *event,
sme_msg.bodyptr = link_stats_results;
sme_msg.bodyval = 0;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE("%s: Fail to post ps change ind msg", __func__);
qdf_mem_free(link_stats_results);
@ -2570,7 +2579,10 @@ static void wma_update_vdev_stats(tp_wma_handle wma,
sme_msg.bodyptr = p_snr_req;
sme_msg.bodyval = 0;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME,
&sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE("%s: Fail to post snr ind msg", __func__);
qdf_mem_free(p_snr_req);
@ -2677,7 +2689,9 @@ void wma_post_link_status(tAniGetLinkStatus *pGetLinkStatus,
sme_msg.bodyptr = pGetLinkStatus;
sme_msg.bodyval = 0;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE("%s: Fail to post link status ind msg", __func__);
qdf_mem_free(pGetLinkStatus);
@ -2883,7 +2897,9 @@ int wma_rso_cmd_status_event_handler(wmi_roam_event_fixed_param *wmi_event)
sme_msg.bodyval = 0;
WMA_LOGD("%s: Post RSO cmd status to SME", __func__);
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE("%s: fail to post RSO cmd status to SME", __func__);
qdf_mem_free(rso_status);
@ -2988,7 +3004,9 @@ static void wma_handle_sta_peer_info(uint32_t num_peer_stats,
sme_msg.bodyptr = peer_info;
sme_msg.bodyval = 0;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE("%s: Fail to post get rssi msg", __func__);
qdf_mem_free(peer_info);
@ -3288,7 +3306,9 @@ static QDF_STATUS wma_peer_info_ext_rsp(tp_wma_handle wma, u_int8_t *buf)
sme_msg.bodyptr = resp;
sme_msg.bodyval = 0;
qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
QDF_MODULE_ID_SME,
QDF_MODULE_ID_SME, &sme_msg);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
WMA_LOGE("%s: Fail to post get peer info msg", __func__);
qdf_mem_free(resp);