From ec2dbe23e2a04fc7b16d3a65650787a70d5c3db5 Mon Sep 17 00:00:00 2001 From: Abhishek Singh Date: Mon, 25 Nov 2019 11:14:17 +0530 Subject: [PATCH] qcacld-3.0: Log vdev id and opmode while creating pesession While pesession is created, the vdev id and opmode is not logged. Thus it become difficult to check for which vdev the session is created. Add logs to print vdev id and opmode while creating pesession. Change-Id: Ie550630c96342a812994fa6cb00b30427d3f5e93 CRs-Fixed: 2573242 --- core/mac/src/pe/include/lim_session.h | 9 +++--- core/mac/src/pe/lim/lim_api.c | 8 +++-- core/mac/src/pe/lim/lim_ft_preauth.c | 3 +- .../mac/src/pe/lim/lim_link_monitoring_algo.c | 2 +- .../src/pe/lim/lim_process_sme_req_messages.c | 29 +++++-------------- core/mac/src/pe/lim/lim_session.c | 22 +++++++------- 6 files changed, 30 insertions(+), 43 deletions(-) diff --git a/core/mac/src/pe/include/lim_session.h b/core/mac/src/pe/include/lim_session.h index bc376ac045d6..014fff54a405 100644 --- a/core/mac/src/pe/include/lim_session.h +++ b/core/mac/src/pe/include/lim_session.h @@ -158,7 +158,6 @@ struct pe_session { tLimSmeStates limPrevSmeState; /* Previous SME State */ tLimSystemRole limSystemRole; enum bss_type bssType; - uint8_t operMode; /* AP - 0; STA - 1 ; */ tSirNwType nwType; struct start_bss_req *pLimStartBssReq; /* handle to start bss req */ struct join_req *lim_join_req; /* handle to sme join req */ @@ -616,6 +615,7 @@ static inline void pe_free_dph_node_array_buffer(void) * @numSta: number of stations * @bssType: bss type of new session to do conditional memory allocation. * @vdev_id: vdev_id + * @opmode: operating mode * * This function returns the session context and the session ID if the session * corresponding to the passed BSSID is found in the PE session table. @@ -623,10 +623,9 @@ static inline void pe_free_dph_node_array_buffer(void) * Return: ptr to the session context or NULL if session can not be created. */ struct pe_session *pe_create_session(struct mac_context *mac, - uint8_t *bssid, - uint8_t *sessionId, - uint16_t numSta, enum bss_type bssType, - uint8_t vdev_id); + uint8_t *bssid, uint8_t *sessionId, + uint16_t numSta, enum bss_type bssType, + uint8_t vdev_id, enum QDF_OPMODE opmode); /** * pe_find_session_by_bssid() - looks up the PE session given the BSSID. diff --git a/core/mac/src/pe/lim/lim_api.c b/core/mac/src/pe/lim/lim_api.c index 9f7d39c47e2b..d1c16f1c1170 100644 --- a/core/mac/src/pe/lim/lim_api.c +++ b/core/mac/src/pe/lim/lim_api.c @@ -2346,8 +2346,9 @@ pe_roam_synch_callback(struct mac_context *mac_ctx, status = QDF_STATUS_E_FAILURE; ft_session_ptr = pe_create_session(mac_ctx, bss_desc->bssId, &session_id, mac_ctx->lim.maxStation, - eSIR_INFRASTRUCTURE_MODE, - session_ptr->smeSessionId); + session_ptr->bssType, + session_ptr->vdev_id, + session_ptr->opmode); if (!ft_session_ptr) { pe_err("LFR3:Cannot create PE Session"); lim_print_mac_addr(mac_ctx, bss_desc->bssId, LOGE); @@ -2698,7 +2699,8 @@ void lim_mon_init_session(struct mac_context *mac_ptr, &session_id, mac_ptr->lim.maxStation, eSIR_MONITOR_MODE, - msg->vdev_id); + msg->vdev_id, + QDF_MONITOR_MODE); if (!psession_entry) { pe_err("Monitor mode: Session Can not be created"); lim_print_mac_addr(mac_ptr, msg->bss_id.bytes, LOGE); diff --git a/core/mac/src/pe/lim/lim_ft_preauth.c b/core/mac/src/pe/lim/lim_ft_preauth.c index 84615a81c89e..8a2c00586bdf 100644 --- a/core/mac/src/pe/lim/lim_ft_preauth.c +++ b/core/mac/src/pe/lim/lim_ft_preauth.c @@ -441,7 +441,8 @@ void lim_handle_ft_pre_auth_rsp(struct mac_context *mac, QDF_STATUS status, pe_create_session(mac, pbssDescription->bssId, &sessionId, mac->lim.maxStation, pe_session->bssType, - pe_session->smeSessionId); + pe_session->vdev_id, + pe_session->opmode); if (!ft_session) { pe_err("Session not created for pre-auth 11R AP"); status = QDF_STATUS_E_FAILURE; diff --git a/core/mac/src/pe/lim/lim_link_monitoring_algo.c b/core/mac/src/pe/lim/lim_link_monitoring_algo.c index 576661473c8e..c046dc2da06a 100644 --- a/core/mac/src/pe/lim/lim_link_monitoring_algo.c +++ b/core/mac/src/pe/lim/lim_link_monitoring_algo.c @@ -575,7 +575,7 @@ void lim_rx_invalid_peer_process(struct mac_context *mac_ctx, } /* only if SAP mode */ - if (session_entry->operMode == BSS_OPERATIONAL_MODE_AP) { + if (session_entry->bssType == eSIR_INFRA_AP_MODE) { pe_debug("send deauth frame to non-assoc STA"); lim_send_deauth_mgmt_frame(mac_ctx, reason_code, diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c index 1966fd6bde1e..7fb03e9cf645 100644 --- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c @@ -562,7 +562,8 @@ __lim_handle_sme_start_bss_request(struct mac_context *mac_ctx, uint32_t *msg_bu sme_start_bss_req->bssid.bytes, &session_id, mac_ctx->lim.maxStation, sme_start_bss_req->bssType, - sme_start_bss_req->vdev_id); + sme_start_bss_req->vdev_id, + sme_start_bss_req->bssPersona); if (!session) { pe_warn("Session Can not be created"); ret_code = eSIR_SME_RESOURCES_UNAVAILABLE; @@ -616,8 +617,6 @@ __lim_handle_sme_start_bss_request(struct mac_context *mac_ctx, uint32_t *msg_bu (uint8_t *) &sme_start_bss_req->ssId, (sme_start_bss_req->ssId.length + 1)); - session->bssType = sme_start_bss_req->bssType; - session->nwType = sme_start_bss_req->nwType; session->beaconParams.beaconInterval = @@ -626,11 +625,6 @@ __lim_handle_sme_start_bss_request(struct mac_context *mac_ctx, uint32_t *msg_bu /* Store the oper freq in session Table */ session->curr_op_freq = sme_start_bss_req->oper_ch_freq; - /* Store Persona */ - session->opmode = sme_start_bss_req->bssPersona; - QDF_TRACE(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG, - FL("PE PERSONA=%d"), session->opmode); - /* Update the phymode */ session->gLimPhyMode = sme_start_bss_req->nwType; @@ -1330,7 +1324,8 @@ __lim_process_sme_join_req(struct mac_context *mac_ctx, void *msg_buf) session = pe_create_session(mac_ctx, bss_desc->bssId, &session_id, mac_ctx->lim.maxStation, eSIR_INFRASTRUCTURE_MODE, - sme_join_req->vdev_id); + sme_join_req->vdev_id, + sme_join_req->staPersona); if (!session) { pe_err("Session Can not be created"); ret_code = eSIR_SME_RESOURCES_UNAVAILABLE; @@ -1365,7 +1360,6 @@ __lim_process_sme_join_req(struct mac_context *mac_ctx, void *msg_buf) /* Copying of bssId is already done, while creating session */ sir_copy_mac_addr(session->self_mac_addr, sme_join_req->self_mac_addr); - session->bssType = sme_join_req->bsstype; session->statypeForBss = STA_ENTRY_PEER; session->limWmeEnabled = sme_join_req->isWMEenabled; @@ -1410,20 +1404,11 @@ __lim_process_sme_join_req(struct mac_context *mac_ctx, void *msg_buf) * self and peer rates */ session->supported_nss_1x1 = true; - /*Store Persona */ - session->opmode = sme_join_req->staPersona; - pe_debug("enable Smps: %d mode: %d send action: %d supported nss 1x1: %d opmode %d cbMode %d", + pe_debug("enable Smps: %d mode: %d send action: %d supported nss 1x1: %d cbMode %d nwType: %d dot11mode: %d force_24ghz_in_ht20 %d", session->enableHtSmps, session->htSmpsvalue, session->send_smps_action, session->supported_nss_1x1, - session->opmode, sme_join_req->cbMode); - - /*Store Persona */ - session->opmode = sme_join_req->staPersona; - QDF_TRACE(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG, - FL("PE PERSONA=%d cbMode %u nwType: %d dot11mode: %d force_24ghz_in_ht20 %d"), - session->opmode, sme_join_req->cbMode, - session->nwType, session->dot11mode, - sme_join_req->force_24ghz_in_ht20); + sme_join_req->cbMode, session->nwType, + session->dot11mode, sme_join_req->force_24ghz_in_ht20); /* Copy oper freq to the session Table */ session->curr_op_freq = bss_desc->chan_freq; diff --git a/core/mac/src/pe/lim/lim_session.c b/core/mac/src/pe/lim/lim_session.c index a1735bf10bff..c427343e2f39 100644 --- a/core/mac/src/pe/lim/lim_session.c +++ b/core/mac/src/pe/lim/lim_session.c @@ -530,10 +530,9 @@ void lim_update_bcn_probe_filter(struct mac_context *mac_ctx, } struct pe_session *pe_create_session(struct mac_context *mac, - uint8_t *bssid, - uint8_t *sessionId, - uint16_t numSta, enum bss_type bssType, - uint8_t vdev_id) + uint8_t *bssid, uint8_t *sessionId, + uint16_t numSta, enum bss_type bssType, + uint8_t vdev_id, enum QDF_OPMODE opmode) { QDF_STATUS status; uint8_t i; @@ -592,6 +591,7 @@ struct pe_session *pe_create_session(struct mac_context *mac, *sessionId = i; session_ptr->peSessionId = i; session_ptr->bssType = bssType; + session_ptr->opmode = opmode; session_ptr->gLimPhyMode = WNI_CFG_PHY_MODE_11G; /* Initialize CB mode variables when session is created */ session_ptr->htSupportedChannelWidthSet = 0; @@ -610,8 +610,9 @@ struct pe_session *pe_create_session(struct mac_context *mac, session_ptr->is_session_obss_color_collision_det_enabled = mac->mlme_cfg->obss_ht40.obss_color_collision_offload_enabled; - pe_debug("Create a new PE session: %d BSSID: "QDF_MAC_ADDR_STR" Max No of STA: %d", - *sessionId, QDF_MAC_ADDR_ARRAY(bssid), numSta); + pe_debug("Create PE session: %d opmode %d vdev_id %d BSSID: "QDF_MAC_ADDR_STR" Max No of STA: %d", + *sessionId, opmode, vdev_id, QDF_MAC_ADDR_ARRAY(bssid), + numSta); if (eSIR_INFRA_AP_MODE == bssType || eSIR_IBSS_MODE == bssType) { session_ptr->pSchProbeRspTemplate = @@ -797,14 +798,13 @@ void pe_delete_session(struct mac_context *mac_ctx, struct pe_session *session) struct wlan_objmgr_vdev *vdev; if (!session || (session && !session->valid)) { - pe_err("session is not valid"); + pe_err("session already deleted or not valid"); return; } - pe_debug("Trying to delete PE session: %d Opmode: %d vdev_id: %d BSSID: "QDF_MAC_ADDR_STR, - session->peSessionId, session->operMode, - session->vdev_id, - QDF_MAC_ADDR_ARRAY(session->bssId)); + pe_debug("Delete PE session: %d opmode: %d vdev_id: %d BSSID: "QDF_MAC_ADDR_STR, + session->peSessionId, session->opmode, session->vdev_id, + QDF_MAC_ADDR_ARRAY(session->bssId)); lim_reset_bcn_probe_filter(mac_ctx, session);