From ce2172e9ed9f4edbb5b8a13104f28fe42c5c8953 Mon Sep 17 00:00:00 2001 From: "Chandrasekaran, Manishekar" Date: Thu, 18 Feb 2016 16:12:43 +0530 Subject: [PATCH] qcacld-3.0: Fix reason code used during Nss update request Fix the reason code used during Nss update request. If there is MCC upgrade or DBS downgrade, the hw mode change request internally send the Nss update request. But, the current implementation uses the same fixed reason code during Nss update request and due to this on receiving the hw mode change response, the expected callback function is not getting invoked. Fix this by passing the right reason code during Nss update request. CRs-Fixed: 978663 Change-Id: I706cb9a86d66d8601ec87f560459604e562f6037 --- core/cds/inc/cds_concurrency.h | 6 +-- core/cds/src/cds_concurrency.c | 31 +++++++----- core/hdd/src/wlan_hdd_cfg80211.c | 4 +- core/hdd/src/wlan_hdd_hostapd.c | 2 +- core/hdd/src/wlan_hdd_wext.c | 6 +-- core/mac/inc/sir_api.h | 48 +++++++++---------- .../src/pe/lim/lim_send_sme_rsp_messages.c | 20 +++++++- core/sap/src/sap_api_link_cntl.c | 2 +- core/sme/inc/sme_api.h | 3 +- core/sme/inc/sme_inside.h | 1 + core/sme/src/common/sme_api.c | 25 +++++++--- core/sme/src/csr/csr_api_roam.c | 6 ++- core/sme/src/csr/csr_api_scan.c | 2 +- core/wma/src/wma_mgmt.c | 2 + 14 files changed, 98 insertions(+), 60 deletions(-) diff --git a/core/cds/inc/cds_concurrency.h b/core/cds/inc/cds_concurrency.h index 42b6d3a5c101..e63a5a1e20d9 100644 --- a/core/cds/inc/cds_concurrency.h +++ b/core/cds/inc/cds_concurrency.h @@ -596,7 +596,7 @@ QDF_STATUS cds_update_connection_info(uint32_t vdev_id); QDF_STATUS cds_decr_connection_count(uint32_t vdev_id); QDF_STATUS cds_current_connections_update(uint32_t session_id, uint8_t channel, - enum cds_conn_update_reason); + enum sir_conn_update_reason); bool cds_is_ibss_conn_exist(uint8_t *ibss_channel); #ifdef MPC_UT_FRAMEWORK QDF_STATUS cds_incr_connection_count_utfw( @@ -652,11 +652,11 @@ QDF_STATUS cds_soc_set_hw_mode(uint32_t session_id, enum hw_mode_bandwidth mac1_bw, enum hw_mode_dbs_capab dbs, enum hw_mode_agile_dfs_capab dfs, - enum cds_conn_update_reason reason); + enum sir_conn_update_reason reason); enum cds_conc_next_action cds_need_opportunistic_upgrade(void); QDF_STATUS cds_next_actions(uint32_t session_id, enum cds_conc_next_action action, - enum cds_conn_update_reason reason); + enum sir_conn_update_reason reason); void cds_set_dual_mac_scan_config(uint8_t dbs_val, uint8_t dbs_plus_agile_scan_val, uint8_t single_mac_scan_with_dbs_val); diff --git a/core/cds/src/cds_concurrency.c b/core/cds/src/cds_concurrency.c index 08a21a361d39..6718d3cbff41 100644 --- a/core/cds/src/cds_concurrency.c +++ b/core/cds/src/cds_concurrency.c @@ -2531,7 +2531,7 @@ QDF_STATUS cds_soc_set_hw_mode(uint32_t session_id, enum hw_mode_bandwidth mac1_bw, enum hw_mode_dbs_capab dbs, enum hw_mode_agile_dfs_capab dfs, - enum cds_conn_update_reason reason) + enum sir_conn_update_reason reason) { int8_t hw_mode_index; struct sir_hw_mode msg; @@ -2556,8 +2556,8 @@ QDF_STATUS cds_soc_set_hw_mode(uint32_t session_id, msg.reason = reason; msg.session_id = session_id; - cds_info("set hw mode to sme: hw_mode_index: %d", - msg.hw_mode_index); + cds_info("set hw mode to sme: hw_mode_index: %d session:%d reason:%d", + msg.hw_mode_index, msg.session_id, msg.reason); status = sme_soc_set_hw_mode(hdd_ctx->hHal, msg); if (status != QDF_STATUS_SUCCESS) { @@ -3819,7 +3819,7 @@ void cds_dbs_opportunistic_timer_handler(void *data) * So, session id 0 is ok here. */ cds_next_actions(0, action, - CDS_UPDATE_REASON_OPPORTUNISTIC); + SIR_UPDATE_REASON_OPPORTUNISTIC); } qdf_mutex_release(&cds_ctx->qdf_conc_list_lock); @@ -5557,7 +5557,7 @@ enum cds_two_connection_mode cds_get_third_connection_pcl_table_index(void) */ QDF_STATUS cds_current_connections_update(uint32_t session_id, uint8_t channel, - enum cds_conn_update_reason reason) + enum sir_conn_update_reason reason) { enum cds_conc_next_action next_action = CDS_NOP; uint32_t num_connections = 0; @@ -5711,6 +5711,7 @@ bool cds_wait_for_nss_update(uint8_t action) * @vdev_id: vdev id for the specific connection * @next_action: next action to happen at policy mgr after * beacon update + * @reason: Reason for nss update * * This function is the callback registered with SME at nss * update request time @@ -5718,7 +5719,8 @@ bool cds_wait_for_nss_update(uint8_t action) * Return: None */ void cds_nss_update_cb(void *context, uint8_t tx_status, uint8_t vdev_id, - uint8_t next_action) + uint8_t next_action, + enum sir_conn_update_reason reason) { cds_context_type *cds_ctx; uint32_t conn_index = 0; @@ -5760,10 +5762,13 @@ void cds_nss_update_cb(void *context, uint8_t tx_status, uint8_t vdev_id, cds_err("unexpected action %d", next_action); break; } + + cds_debug("vdev:%d wait:%d", vdev_id, wait); + if (!wait) cds_next_actions(vdev_id, next_action, - CDS_UPDATE_REASON_NSS_UPDATE); + reason); qdf_mutex_release(&cds_ctx->qdf_conc_list_lock); return; } @@ -5785,7 +5790,7 @@ void cds_nss_update_cb(void *context, uint8_t tx_status, uint8_t vdev_id, * Return: QDF_STATUS enum */ QDF_STATUS cds_complete_action(uint8_t new_nss, uint8_t next_action, - enum cds_conn_update_reason reason, + enum sir_conn_update_reason reason, uint32_t session_id) { QDF_STATUS status = QDF_STATUS_E_FAILURE; @@ -5826,7 +5831,7 @@ QDF_STATUS cds_complete_action(uint8_t new_nss, uint8_t next_action, conc_connection_list [list[index]].vdev_id, new_nss, cds_nss_update_cb, - next_action, hdd_ctx); + next_action, hdd_ctx, reason); if (!QDF_IS_STATUS_SUCCESS(status)) { cds_err("sme_nss_update_request() failed for vdev %d", conc_connection_list[list[index]].vdev_id); @@ -5844,7 +5849,7 @@ QDF_STATUS cds_complete_action(uint8_t new_nss, uint8_t next_action, conc_connection_list [list[index]].vdev_id, new_nss, cds_nss_update_cb, - next_action, hdd_ctx); + next_action, hdd_ctx, reason); if (!QDF_IS_STATUS_SUCCESS(status)) { cds_err("sme_nss_update_request() failed for vdev %d", conc_connection_list[list[index]].vdev_id); @@ -5875,7 +5880,7 @@ QDF_STATUS cds_complete_action(uint8_t new_nss, uint8_t next_action, */ QDF_STATUS cds_next_actions(uint32_t session_id, enum cds_conc_next_action action, - enum cds_conn_update_reason reason) + enum sir_conn_update_reason reason) { QDF_STATUS status = QDF_STATUS_E_FAILURE; struct sir_hw_mode_params hw_mode; @@ -6607,7 +6612,7 @@ QDF_STATUS cds_handle_conc_multiport(uint8_t session_id, uint8_t channel) status = cds_current_connections_update(session_id, channel, - CDS_UPDATE_REASON_NORMAL_STA); + SIR_UPDATE_REASON_NORMAL_STA); if (QDF_STATUS_E_FAILURE == status) { cds_err("connections update failed"); return status; @@ -8076,7 +8081,7 @@ QDF_STATUS cds_handle_hw_mode_change_on_csa(uint16_t session_id, * 2. Do vdev restart on the new channel (on getting hw mode resp) */ status = cds_next_actions(session_id, action, - CDS_UPDATE_REASON_CHANNEL_SWITCH_STA); + SIR_UPDATE_REASON_CHANNEL_SWITCH_STA); if (!QDF_IS_STATUS_SUCCESS(status)) { cds_err("no set hw mode command was issued"); /* Proceed with processing csa params. So, not freeing it */ diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index e9a74a044d2b..c1b235ce88b7 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -4243,7 +4243,7 @@ static int __wlan_hdd_cfg80211_set_probable_oper_channel(struct wiphy *wiphy, ret = cds_current_connections_update(adapter->sessionId, channel_hint, - CDS_UPDATE_REASON_SET_OPER_CHAN); + SIR_UPDATE_REASON_SET_OPER_CHAN); if (QDF_STATUS_E_FAILURE == ret) { /* return in the failure case */ hdd_err("ERROR: connections update failed!!"); @@ -9351,7 +9351,7 @@ static int __wlan_hdd_cfg80211_join_ibss(struct wiphy *wiphy, status = cds_current_connections_update(pAdapter->sessionId, channelNum, - CDS_UPDATE_REASON_JOIN_IBSS); + SIR_UPDATE_REASON_JOIN_IBSS); if (QDF_STATUS_E_FAILURE == status) { hdd_err("ERROR: connections update failed!!"); return -EINVAL; diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 0bd09531c3f5..f0c503683489 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -8144,7 +8144,7 @@ static int __wlan_hdd_cfg80211_start_ap(struct wiphy *wiphy, status = cds_current_connections_update(pAdapter->sessionId, channel, - CDS_UPDATE_REASON_START_AP); + SIR_UPDATE_REASON_START_AP); if (QDF_STATUS_E_FAILURE == status) { hdd_err("ERROR: connections update failed!!"); return -EINVAL; diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c index 3f1ef0c9653f..145fd65bc689 100644 --- a/core/hdd/src/wlan_hdd_wext.c +++ b/core/hdd/src/wlan_hdd_wext.c @@ -7778,7 +7778,7 @@ static int __iw_set_var_ints_getnone(struct net_device *dev, HW_MODE_SS_0x0, HW_MODE_BW_NONE, HW_MODE_DBS_NONE, HW_MODE_AGILE_DFS_NONE, - CDS_UPDATE_REASON_UT); + SIR_UPDATE_REASON_UT); } else if (apps_args[0] == 1) { hddLog(LOGE, FL("set hw mode for dual mac\n")); @@ -7789,7 +7789,7 @@ static int __iw_set_var_ints_getnone(struct net_device *dev, HW_MODE_SS_1x1, HW_MODE_40_MHZ, HW_MODE_DBS, HW_MODE_AGILE_DFS_NONE, - CDS_UPDATE_REASON_UT); + SIR_UPDATE_REASON_UT); } } break; @@ -7801,7 +7801,7 @@ static int __iw_set_var_ints_getnone(struct net_device *dev, FL(" is called\n")); action = cds_current_connections_update(pAdapter->sessionId, apps_args[0], - CDS_UPDATE_REASON_UT); + SIR_UPDATE_REASON_UT); pr_info("next action is %d {HDD_NOP = 0, HDD_DBS, HDD_DBS_DOWNGRADE, HDD_MCC, HDD_MCC_UPGRADE}", action); } break; diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index 5e8e93efcd59..be4eef03b37a 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -95,29 +95,29 @@ typedef uint8_t tSirVersionString[SIR_VERSION_STRING_LEN]; #define MAX_VDEV_SUPPORTED 4 /** - * enum cds_conn_update_reason: Reason for conc connection update - * @CDS_UPDATE_REASON_SET_OPER_CHAN: Set probable operating channel - * @CDS_UPDATE_REASON_JOIN_IBSS: Join IBSS - * @CDS_UPDATE_REASON_UT: Unit test related - * @CDS_UPDATE_REASON_START_AP: Start AP - * @CDS_UPDATE_REASON_NORMAL_STA: Connection to Normal STA - * @CDS_UPDATE_REASON_HIDDEN_STA: Connection to Hidden STA - * @CDS_UPDATE_REASON_OPPORTUNISTIC: Opportunistic HW mode update - * @CDS_UPDATE_REASON_NSS_UPDATE: NSS update - * @CDS_UPDATE_REASON_CHANNEL_SWITCH: Channel switch - * @CDS_UPDATE_REASON_CHANNEL_SWITCH_STA: Channel switch for STA + * enum sir_conn_update_reason: Reason for conc connection update + * @SIR_UPDATE_REASON_SET_OPER_CHAN: Set probable operating channel + * @SIR_UPDATE_REASON_JOIN_IBSS: Join IBSS + * @SIR_UPDATE_REASON_UT: Unit test related + * @SIR_UPDATE_REASON_START_AP: Start AP + * @SIR_UPDATE_REASON_NORMAL_STA: Connection to Normal STA + * @SIR_UPDATE_REASON_HIDDEN_STA: Connection to Hidden STA + * @SIR_UPDATE_REASON_OPPORTUNISTIC: Opportunistic HW mode update + * @SIR_UPDATE_REASON_NSS_UPDATE: NSS update + * @SIR_UPDATE_REASON_CHANNEL_SWITCH: Channel switch + * @SIR_UPDATE_REASON_CHANNEL_SWITCH_STA: Channel switch for STA */ -enum cds_conn_update_reason { - CDS_UPDATE_REASON_SET_OPER_CHAN, - CDS_UPDATE_REASON_JOIN_IBSS, - CDS_UPDATE_REASON_UT, - CDS_UPDATE_REASON_START_AP, - CDS_UPDATE_REASON_NORMAL_STA, - CDS_UPDATE_REASON_HIDDEN_STA, - CDS_UPDATE_REASON_OPPORTUNISTIC, - CDS_UPDATE_REASON_NSS_UPDATE, - CDS_UPDATE_REASON_CHANNEL_SWITCH, - CDS_UPDATE_REASON_CHANNEL_SWITCH_STA, +enum sir_conn_update_reason { + SIR_UPDATE_REASON_SET_OPER_CHAN, + SIR_UPDATE_REASON_JOIN_IBSS, + SIR_UPDATE_REASON_UT, + SIR_UPDATE_REASON_START_AP, + SIR_UPDATE_REASON_NORMAL_STA, + SIR_UPDATE_REASON_HIDDEN_STA, + SIR_UPDATE_REASON_OPPORTUNISTIC, + SIR_UPDATE_REASON_NSS_UPDATE, + SIR_UPDATE_REASON_CHANNEL_SWITCH, + SIR_UPDATE_REASON_CHANNEL_SWITCH_STA, }; typedef enum { @@ -472,7 +472,7 @@ typedef struct sSirSmeReadyReq { struct sir_hw_mode { uint32_t hw_mode_index; void *set_hw_mode_cb; - enum cds_conn_update_reason reason; + enum sir_conn_update_reason reason; uint32_t session_id; }; @@ -5203,7 +5203,7 @@ struct sir_beacon_tx_complete_rsp { }; typedef void (*nss_update_cb)(void *context, uint8_t tx_status, uint8_t vdev_id, - uint8_t next_action); + uint8_t next_action, enum sir_conn_update_reason reason); /** * OCB structures diff --git a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c index 2256f851761b..6e9d4947b4e4 100644 --- a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c +++ b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c @@ -2078,6 +2078,17 @@ void lim_handle_csa_offload_msg(tpAniSirGlobal mac_ctx, tpSirMsgQ msg) chnl_switch_info = &session_entry->gLimWiderBWChannelSwitch; + lim_log(mac_ctx, LOG1, + FL("vht:%d ht:%d flag:%x chan:%d seg1:%d seg2:%d width:%d country:%s class:%d"), + session_entry->vhtCapability, + session_entry->htSupportedChannelWidthSet, + csa_params->ies_present_flag, + csa_params->channel, csa_params->new_ch_freq_seg1, + csa_params->new_ch_freq_seg2, + csa_params->new_ch_width, + mac_ctx->scan.countryCodeCurrent, + csa_params->new_op_class); + if (session_entry->vhtCapability && session_entry->htSupportedChannelWidthSet) { if (csa_params->ies_present_flag & lim_wbw_ie_present) { @@ -2191,8 +2202,8 @@ void lim_handle_csa_offload_msg(tpAniSirGlobal mac_ctx, tpSirMsgQ msg) } } - lim_log(mac_ctx, LOG1, FL("new ch width = %d"), - session_entry->gLimChannelSwitch.ch_width); + lim_log(mac_ctx, LOG1, FL("new ch width = %d space:%d"), + session_entry->gLimChannelSwitch.ch_width, chan_space); lim_prepare_for11h_channel_switch(mac_ctx, session_entry); csa_offload_ind = qdf_mem_malloc(sizeof(tSmeCsaOffloadInd)); @@ -2469,6 +2480,11 @@ lim_process_beacon_tx_success_ind(tpAniSirGlobal pMac, uint16_t msgType, void *e return; } + lim_log(pMac, LOG1, FL("role:%d swIe:%d opIe:%d"), + GET_LIM_SYSTEM_ROLE(psessionEntry), + psessionEntry->dfsIncludeChanSwIe, + psessionEntry->gLimOperatingMode.present); + if (LIM_IS_AP_ROLE(psessionEntry) && true == psessionEntry->dfsIncludeChanSwIe) { /* Send only 5 beacons with CSA IE Set in when a radar is detected */ diff --git a/core/sap/src/sap_api_link_cntl.c b/core/sap/src/sap_api_link_cntl.c index 09fed3226582..777c0ed9f995 100644 --- a/core/sap/src/sap_api_link_cntl.c +++ b/core/sap/src/sap_api_link_cntl.c @@ -569,7 +569,7 @@ static QDF_STATUS wlansap_set_hw_mode_on_channel_switch(tpAniSirGlobal mac_ctx, * 2. Do vdev restart on the new channel */ status = cds_next_actions(sap_ctx->sessionId, action, - CDS_UPDATE_REASON_CHANNEL_SWITCH); + SIR_UPDATE_REASON_CHANNEL_SWITCH); if (!QDF_IS_STATUS_SUCCESS(status)) { QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR, FL("no set hw mode command was issued")); diff --git a/core/sme/inc/sme_api.h b/core/sme/inc/sme_api.h index b198c76739bb..bf852a7231fc 100644 --- a/core/sme/inc/sme_api.h +++ b/core/sme/inc/sme_api.h @@ -978,7 +978,8 @@ void sme_register_hw_mode_trans_cb(tHalHandle hal, hw_mode_transition_cb callback); QDF_STATUS sme_nss_update_request(tHalHandle hHal, uint32_t vdev_id, uint8_t new_nss, void *cback, - uint8_t next_action, void *hdd_context); + uint8_t next_action, void *hdd_context, + enum sir_conn_update_reason reason); typedef void (*sme_peer_authorized_fp) (uint32_t vdev_id); QDF_STATUS sme_set_peer_authorized(uint8_t *peer_addr, diff --git a/core/sme/inc/sme_inside.h b/core/sme/inc/sme_inside.h index c8ba415f2f68..cf062f77ee21 100644 --- a/core/sme/inc/sme_inside.h +++ b/core/sme/inc/sme_inside.h @@ -164,6 +164,7 @@ struct s_nss_update_cmd { void *nss_update_cb; void *context; uint8_t next_action; + enum sir_conn_update_reason reason; }; typedef struct tagSmeCmd { diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index 61d27b19f130..1f9c74679010 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -153,7 +153,7 @@ static QDF_STATUS sme_process_set_hw_mode_resp(tpAniSirGlobal mac, uint8_t *msg) bool found; hw_mode_cb callback = NULL; struct sir_set_hw_mode_resp *param; - enum cds_conn_update_reason reason; + enum sir_conn_update_reason reason; tSmeCmd *saved_cmd; tCsrRoamInfo roam_info = {0}; QDF_STATUS status; @@ -187,11 +187,16 @@ static QDF_STATUS sme_process_set_hw_mode_resp(tpAniSirGlobal mac, uint8_t *msg) callback = command->u.set_hw_mode_cmd.set_hw_mode_cb; reason = command->u.set_hw_mode_cmd.reason; + + sms_log(mac, LOG1, FL("reason:%d session:%d"), + command->u.set_hw_mode_cmd.reason, + command->u.set_hw_mode_cmd.session_id); + if (callback) { if (!param) { sms_log(mac, LOGE, FL("Callback failed since HW mode params is NULL")); - } else if (reason == CDS_UPDATE_REASON_HIDDEN_STA) { + } else if (reason == SIR_UPDATE_REASON_HIDDEN_STA) { /* In the case of hidden SSID, connection update * (set hw mode) is done after the scan with reason * code eCsrScanForSsid completes. The connect/failure @@ -229,13 +234,13 @@ static QDF_STATUS sme_process_set_hw_mode_resp(tpAniSirGlobal mac, uint8_t *msg) saved_cmd = NULL; mac->sme.saved_scan_cmd = NULL; } - } else if (reason == CDS_UPDATE_REASON_CHANNEL_SWITCH) { + } else if (reason == SIR_UPDATE_REASON_CHANNEL_SWITCH) { csr_roam_call_callback(mac, command->u.set_hw_mode_cmd.session_id, &roam_info, 0, eCSR_ROAM_STATUS_UPDATE_HW_MODE, eCSR_ROAM_RESULT_UPDATE_HW_MODE); - } else if (reason == CDS_UPDATE_REASON_CHANNEL_SWITCH_STA) { + } else if (reason == SIR_UPDATE_REASON_CHANNEL_SWITCH_STA) { struct sir_saved_csa_params *msg; sms_log(mac, LOG1, FL("process channel switch sta")); @@ -2772,7 +2777,8 @@ QDF_STATUS sme_process_nss_update_resp(tpAniSirGlobal mac, uint8_t *msg) callback(command->u.nss_update_cmd.context, param->tx_status, param->session_id, - command->u.nss_update_cmd.next_action); + command->u.nss_update_cmd.next_action, + command->u.nss_update_cmd.reason); } } else { sms_log(mac, LOGE, FL("Callback does not exisit")); @@ -14460,7 +14466,10 @@ QDF_STATUS sme_soc_set_hw_mode(tHalHandle hal, cmd->u.set_hw_mode_cmd.reason = msg.reason; cmd->u.set_hw_mode_cmd.session_id = msg.session_id; - sms_log(mac, LOG1, FL("Queuing e_sme_command_set_hw_mode to CSR")); + sms_log(mac, LOG1, + FL("Queuing set hw mode to CSR, session:%d reason:%d"), + cmd->u.set_hw_mode_cmd.session_id, + cmd->u.set_hw_mode_cmd.reason); csr_queue_sme_command(mac, cmd, false); sme_release_global_lock(&mac->sme); @@ -14500,7 +14509,8 @@ void sme_register_hw_mode_trans_cb(tHalHandle hal, */ QDF_STATUS sme_nss_update_request(tHalHandle hHal, uint32_t vdev_id, uint8_t new_nss, void *cback, uint8_t next_action, - void *hdd_context) + void *hdd_context, + enum sir_conn_update_reason reason) { QDF_STATUS status = QDF_STATUS_E_FAILURE; tpAniSirGlobal mac = PMAC_STRUCT(hHal); @@ -14522,6 +14532,7 @@ QDF_STATUS sme_nss_update_request(tHalHandle hHal, uint32_t vdev_id, cmd->u.nss_update_cmd.nss_update_cb = cback; cmd->u.nss_update_cmd.context = hdd_context; cmd->u.nss_update_cmd.next_action = next_action; + cmd->u.nss_update_cmd.reason = reason; sms_log(mac, LOG1, FL("Queuing e_sme_command_nss_update to CSR")); csr_queue_sme_command(mac, cmd, false); diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 01e43eb37dcb..277b41d84c85 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -18718,7 +18718,7 @@ void csr_process_set_hw_mode(tpAniSirGlobal mac, tSmeCmd *command) /* For hidden SSID case, if there is any scan command pending * it needs to be cleared before issuing set HW mode */ - if (command->u.set_hw_mode_cmd.reason == CDS_UPDATE_REASON_HIDDEN_STA) { + if (command->u.set_hw_mode_cmd.reason == SIR_UPDATE_REASON_HIDDEN_STA) { sms_log(mac, LOGE, FL("clear any pending scan command")); status = csr_scan_abort_mac_scan_not_for_connect(mac, command->u.set_hw_mode_cmd.session_id); @@ -18741,7 +18741,9 @@ void csr_process_set_hw_mode(tpAniSirGlobal mac, tSmeCmd *command) cmd->set_hw.set_hw_mode_cb = command->u.set_hw_mode_cmd.set_hw_mode_cb; sms_log(mac, LOG1, - FL("Posting eWNI_SME_SET_HW_MODE_REQ to PE")); + FL("Posting set hw mode req to PE session:%d reason:%d"), + command->u.set_hw_mode_cmd.session_id, + command->u.set_hw_mode_cmd.reason); status = cds_send_mb_message_to_mac(cmd); if (QDF_STATUS_SUCCESS != status) { diff --git a/core/sme/src/csr/csr_api_scan.c b/core/sme/src/csr/csr_api_scan.c index f808ffc1194f..557cad320f19 100644 --- a/core/sme/src/csr/csr_api_scan.c +++ b/core/sme/src/csr/csr_api_scan.c @@ -3999,7 +3999,7 @@ csr_handle_nxt_cmd(tpAniSirGlobal mac_ctx, tSmeCmd *pCommand, case eCsrNextCheckAllowConc: ret = cds_current_connections_update(pCommand->sessionId, chan, - CDS_UPDATE_REASON_HIDDEN_STA); + SIR_UPDATE_REASON_HIDDEN_STA); sms_log(mac_ctx, LOG1, FL("chan: %d session: %d status: %d"), chan, pCommand->sessionId, ret); if (mac_ctx->sme.saved_scan_cmd) { diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c index 4a44de63b952..cc4fc88e9366 100644 --- a/core/wma/src/wma_mgmt.c +++ b/core/wma/src/wma_mgmt.c @@ -470,6 +470,8 @@ int wma_unified_bcntx_status_event_handler(void *handle, resp_event = param_buf->fixed_param; + WMA_LOGD("%s", __func__); + /* Check for valid handle to ensure session is not * deleted in any race */