diff --git a/core/mac/src/pe/lim/lim_assoc_utils.c b/core/mac/src/pe/lim/lim_assoc_utils.c index 1e2a167b9f2d..cd9ad2ae5b08 100644 --- a/core/mac/src/pe/lim/lim_assoc_utils.c +++ b/core/mac/src/pe/lim/lim_assoc_utils.c @@ -3351,24 +3351,20 @@ QDF_STATUS lim_del_bss(struct mac_context *mac, tpDphHashNode sta, uint16_t bss_idx, struct pe_session *pe_session) { - tpDeleteBssParams pDelBssParams = NULL; + struct del_bss_param *pDelBssParams = NULL; struct scheduler_msg msgQ = {0}; QDF_STATUS retCode = QDF_STATUS_SUCCESS; - pDelBssParams = qdf_mem_malloc(sizeof(tDeleteBssParams)); + pDelBssParams = qdf_mem_malloc(sizeof(*pDelBssParams)); if (!pDelBssParams) return QDF_STATUS_E_NOMEM; - pDelBssParams->sessionId = pe_session->peSessionId; /* update PE session Id */ - /* DPH was storing the AssocID in staID field, */ /* staID is actually assigned by HAL when AddSTA message is sent. */ if (sta) { - pDelBssParams->bss_idx = sta->bssId; sta->valid = 0; sta->mlmStaContext.mlmState = eLIM_MLM_WT_DEL_BSS_RSP_STATE; - } else - pDelBssParams->bss_idx = bss_idx; + } pe_session->limMlmState = eLIM_MLM_WT_DEL_BSS_RSP_STATE; MTRACE(mac_trace (mac, TRACE_CODE_MLM_STATE, pe_session->peSessionId, @@ -3382,14 +3378,13 @@ lim_del_bss(struct mac_context *mac, tpDphHashNode sta, uint16_t bss_idx, } pDelBssParams->status = QDF_STATUS_SUCCESS; - pDelBssParams->respReqd = 1; qdf_mem_copy(pDelBssParams->bssid, pe_session->bssId, sizeof(tSirMacAddr)); - pDelBssParams->smesessionId = pe_session->smeSessionId; - pe_debug("Sessionid %d : Sending HAL_DELETE_BSS_REQ " - "for bss idx: %X BSSID:" QDF_MAC_ADDR_STR, - pDelBssParams->sessionId, pDelBssParams->bss_idx, - QDF_MAC_ADDR_ARRAY(pe_session->bssId)); + pDelBssParams->vdev_id = pe_session->smeSessionId; + pe_debug("Sessionid %d : Sending HAL_DELETE_BSS_REQ BSSID:" + QDF_MAC_ADDR_STR, + pe_session->peSessionId, + QDF_MAC_ADDR_ARRAY(pe_session->bssId)); /* we need to defer the message until we get the response back from HAL. */ SET_LIM_PROCESS_DEFD_MESGS(mac, false); diff --git a/core/mac/src/pe/lim/lim_ibss_peer_mgmt.c b/core/mac/src/pe/lim/lim_ibss_peer_mgmt.c index 7d1254c72cbe..c3ed9345ca37 100644 --- a/core/mac/src/pe/lim/lim_ibss_peer_mgmt.c +++ b/core/mac/src/pe/lim/lim_ibss_peer_mgmt.c @@ -1207,7 +1207,7 @@ lim_ibss_add_sta_rsp(struct mac_context *mac, void *msg, struct pe_session *pe_s void lim_ibss_del_bss_rsp_when_coalescing(struct mac_context *mac, void *msg, struct pe_session *pe_session) { - tpDeleteBssParams pDelBss = (tpDeleteBssParams) msg; + struct del_bss_param *pDelBss = (struct del_bss_param *)msg; pe_debug("IBSS: DEL_BSS_RSP Rcvd during coalescing!"); @@ -1217,8 +1217,8 @@ void lim_ibss_del_bss_rsp_when_coalescing(struct mac_context *mac, void *msg, } if (pDelBss->status != QDF_STATUS_SUCCESS) { - pe_err("IBSS: DEL_BSS_RSP(coalesce) error: %x Bss: %d", - pDelBss->status, pDelBss->bss_idx); + pe_err("IBSS: DEL_BSS_RSP(coalesce) error: %x", + pDelBss->status); goto end; } @@ -1271,7 +1271,7 @@ end: void lim_ibss_del_bss_rsp(struct mac_context *mac, void *msg, struct pe_session *pe_session) { tSirResultCodes rc = eSIR_SME_SUCCESS; - tpDeleteBssParams pDelBss = (tpDeleteBssParams) msg; + struct del_bss_param *pDelBss = (struct del_bss_param *)msg; tSirMacAddr nullBssid = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; SET_LIM_PROCESS_DEFD_MESGS(mac, true); @@ -1281,7 +1281,7 @@ void lim_ibss_del_bss_rsp(struct mac_context *mac, void *msg, struct pe_session goto end; } - pe_session = pe_find_session_by_session_id(mac, pDelBss->sessionId); + pe_session = pe_find_session_by_sme_session_id(mac, pDelBss->vdev_id); if (!pe_session) { pe_err("Session Does not exist for given sessionID"); goto end; @@ -1300,8 +1300,7 @@ void lim_ibss_del_bss_rsp(struct mac_context *mac, void *msg, struct pe_session } if (pDelBss->status != QDF_STATUS_SUCCESS) { - pe_err("IBSS: DEL_BSS_RSP error: %x Bss: %d", - pDelBss->status, pDelBss->bss_idx); + pe_err("IBSS: DEL_BSS_RSP error: %x", pDelBss->status); rc = eSIR_SME_STOP_BSS_FAILURE; goto end; } diff --git a/core/mac/src/pe/lim/lim_process_message_queue.c b/core/mac/src/pe/lim/lim_process_message_queue.c index 7d3ebaf6f503..12f0a76a0cd4 100644 --- a/core/mac/src/pe/lim/lim_process_message_queue.c +++ b/core/mac/src/pe/lim/lim_process_message_queue.c @@ -1938,7 +1938,7 @@ static void lim_process_messages(struct mac_context *mac_ctx, break; case WMA_DELETE_BSS_RSP: case WMA_DELETE_BSS_HO_FAIL_RSP: - lim_handle_delete_bss_rsp(mac_ctx, msg); + lim_handle_delete_bss_rsp(mac_ctx, msg->bodyptr); break; case WMA_CSA_OFFLOAD_EVENT: lim_handle_csa_offload_msg(mac_ctx, msg); diff --git a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c index d2d02974fe20..13ab51f08b49 100644 --- a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c +++ b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c @@ -1567,7 +1567,7 @@ end: } void lim_process_mlm_del_bss_rsp(struct mac_context *mac, - struct scheduler_msg *limMsgQ, + struct del_bss_param *pDelBss, struct pe_session *pe_session) { /* we need to process the deferred message since the initiating req. there might be nested request. */ @@ -1578,10 +1578,10 @@ void lim_process_mlm_del_bss_rsp(struct mac_context *mac, if (LIM_IS_AP_ROLE(pe_session) && (pe_session->statypeForBss == STA_ENTRY_SELF)) { - lim_process_ap_mlm_del_bss_rsp(mac, limMsgQ, pe_session); + lim_process_ap_mlm_del_bss_rsp(mac, pDelBss, pe_session); return; } - lim_process_sta_mlm_del_bss_rsp(mac, limMsgQ, pe_session); + lim_process_sta_mlm_del_bss_rsp(mac, pDelBss, pe_session); #ifdef WLAN_FEATURE_11W if (pe_session->limRmfEnabled) { @@ -1594,10 +1594,9 @@ void lim_process_mlm_del_bss_rsp(struct mac_context *mac, } void lim_process_sta_mlm_del_bss_rsp(struct mac_context *mac, - struct scheduler_msg *limMsgQ, + struct del_bss_param *pDelBssParams, struct pe_session *pe_session) { - tpDeleteBssParams pDelBssParams = (tpDeleteBssParams) limMsgQ->bodyptr; tpDphHashNode sta = dph_get_hash_entry(mac, DPH_STA_HASH_INDEX_PEER, &pe_session->dph.dphHashTable); @@ -1608,8 +1607,7 @@ void lim_process_sta_mlm_del_bss_rsp(struct mac_context *mac, goto end; } if (QDF_STATUS_SUCCESS == pDelBssParams->status) { - pe_debug("STA received the DEL_BSS_RSP for BSSID: %X", - pDelBssParams->bss_idx); + pe_debug("STA received the DEL_BSS_RSP"); if (lim_set_link_state (mac, eSIR_LINK_IDLE_STATE, pe_session->bssId, pe_session->self_mac_addr, NULL, @@ -1637,10 +1635,9 @@ void lim_process_sta_mlm_del_bss_rsp(struct mac_context *mac, status_code = eSIR_SME_STOP_BSS_FAILURE; } end: - if (0 != limMsgQ->bodyptr) { + if (pDelBssParams) qdf_mem_free(pDelBssParams); - limMsgQ->bodyptr = NULL; - } + if (!sta) return; if ((LIM_IS_STA_ROLE(pe_session)) && @@ -1662,19 +1659,17 @@ end: } void lim_process_ap_mlm_del_bss_rsp(struct mac_context *mac, - struct scheduler_msg *limMsgQ, + struct del_bss_param *pDelBss, struct pe_session *pe_session) { tSirResultCodes rc = eSIR_SME_SUCCESS; QDF_STATUS status; - tpDeleteBssParams pDelBss = (tpDeleteBssParams) limMsgQ->bodyptr; tSirMacAddr nullBssid = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; if (!pe_session) { pe_err("Session entry passed is NULL"); if (pDelBss) { qdf_mem_free(pDelBss); - limMsgQ->bodyptr = NULL; } return; } @@ -1696,8 +1691,7 @@ void lim_process_ap_mlm_del_bss_rsp(struct mac_context *mac, goto end; } if (pDelBss->status != QDF_STATUS_SUCCESS) { - pe_err("BSS: DEL_BSS_RSP error (%x) Bss %d", - pDelBss->status, pDelBss->bss_idx); + pe_err("BSS: DEL_BSS_RSP error (%x)", pDelBss->status); rc = eSIR_SME_STOP_BSS_FAILURE; goto end; } @@ -1722,7 +1716,6 @@ end: if (pDelBss) { qdf_mem_free(pDelBss); - limMsgQ->bodyptr = NULL; } } 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 a4086845e25b..c0cae0e4beab 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 @@ -3000,10 +3000,8 @@ static bool __lim_process_sme_stop_bss_req(struct mac_context *mac, } /*** end __lim_process_sme_stop_bss_req() ***/ void lim_process_sme_del_bss_rsp(struct mac_context *mac, - uint32_t body, struct pe_session *pe_session) + struct pe_session *pe_session) { - - (void)body; SET_LIM_PROCESS_DEFD_MESGS(mac, true); lim_ibss_delete(mac, pe_session); dph_hash_table_init(mac, &pe_session->dph.dphHashTable); 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 0f519157e35f..e8e34b9368a0 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 @@ -1829,18 +1829,17 @@ err: \sa --------------------------------------------------------------------------*/ -void lim_handle_delete_bss_rsp(struct mac_context *mac, struct scheduler_msg *MsgQ) +void lim_handle_delete_bss_rsp(struct mac_context *mac, + struct del_bss_param *pDelBss) { struct pe_session *pe_session; - tpDeleteBssParams pDelBss = (tpDeleteBssParams) (MsgQ->bodyptr); pe_session = - pe_find_session_by_session_id(mac, pDelBss->sessionId); + pe_find_session_by_sme_session_id(mac, pDelBss->vdev_id); if (!pe_session) { - pe_err("Session Does not exist for given sessionID: %d", - pDelBss->sessionId); - qdf_mem_free(MsgQ->bodyptr); - MsgQ->bodyptr = NULL; + pe_err("Session Does not exist for vdev id: %d", + pDelBss->vdev_id); + qdf_mem_free(pDelBss); return; } @@ -1852,13 +1851,13 @@ void lim_handle_delete_bss_rsp(struct mac_context *mac, struct scheduler_msg *Ms */ pe_session->process_ho_fail = false; if (LIM_IS_IBSS_ROLE(pe_session)) - lim_ibss_del_bss_rsp(mac, MsgQ->bodyptr, pe_session); + lim_ibss_del_bss_rsp(mac, pDelBss, pe_session); else if (LIM_IS_UNKNOWN_ROLE(pe_session)) - lim_process_sme_del_bss_rsp(mac, MsgQ->bodyval, pe_session); + lim_process_sme_del_bss_rsp(mac, pe_session); else if (LIM_IS_NDI_ROLE(pe_session)) - lim_ndi_del_bss_rsp(mac, MsgQ->bodyptr, pe_session); + lim_ndi_del_bss_rsp(mac, pDelBss, pe_session); else - lim_process_mlm_del_bss_rsp(mac, MsgQ, pe_session); + lim_process_mlm_del_bss_rsp(mac, pDelBss, pe_session); } diff --git a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.h b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.h index 4fbab9f1f3da..b20c5fb131ef 100644 --- a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.h +++ b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.h @@ -180,7 +180,7 @@ void lim_send_sme_set_context_rsp(struct mac_context *mac, uint8_t smesessionId); void lim_handle_delete_bss_rsp(struct mac_context *mac, - struct scheduler_msg *MsgQ); + struct del_bss_param *pDelBss); void lim_handle_csa_offload_msg(struct mac_context *mac_ctx, struct scheduler_msg *msg); diff --git a/core/mac/src/pe/lim/lim_types.h b/core/mac/src/pe/lim/lim_types.h index d2cb5881ad1e..309a4cd4529c 100644 --- a/core/mac/src/pe/lim/lim_types.h +++ b/core/mac/src/pe/lim/lim_types.h @@ -340,7 +340,8 @@ typedef struct sLimMlmSetKeysCnf { bool lim_process_sme_req_messages(struct mac_context *, struct scheduler_msg *); void lim_process_mlm_req_messages(struct mac_context *, struct scheduler_msg *); void lim_process_mlm_rsp_messages(struct mac_context *, uint32_t, uint32_t *); -void lim_process_sme_del_bss_rsp(struct mac_context *, uint32_t, struct pe_session *); +void lim_process_sme_del_bss_rsp(struct mac_context *mac, + struct pe_session *pe_session); /** * lim_process_mlm_start_cnf(): called to processes MLM_START_CNF message from @@ -755,8 +756,8 @@ void lim_process_mlm_add_sta_rsp(struct mac_context *mac, void lim_process_mlm_del_sta_rsp(struct mac_context *mac, struct scheduler_msg *limMsgQ); void lim_process_mlm_del_bss_rsp(struct mac_context *mac, - struct scheduler_msg *limMsgQ, - struct pe_session *); + struct del_bss_param *pDelBss, + struct pe_session *pe_session); void lim_process_sta_mlm_add_sta_rsp(struct mac_context *mac, struct scheduler_msg *limMsgQ, struct pe_session *pe_session); @@ -764,7 +765,7 @@ void lim_process_sta_mlm_del_sta_rsp(struct mac_context *mac, struct scheduler_msg *limMsgQ, struct pe_session *pe_session); void lim_process_sta_mlm_del_bss_rsp(struct mac_context *mac, - struct scheduler_msg *limMsgQ, + struct del_bss_param *pDelBssParams, struct pe_session *pe_session); void lim_process_mlm_set_sta_key_rsp(struct mac_context *mac, struct scheduler_msg *limMsgQ); diff --git a/core/mac/src/pe/lim/lim_utils.h b/core/mac/src/pe/lim/lim_utils.h index 824ec9ca7cf0..6a485373e5b1 100644 --- a/core/mac/src/pe/lim/lim_utils.h +++ b/core/mac/src/pe/lim/lim_utils.h @@ -533,8 +533,8 @@ void lim_process_ap_mlm_add_sta_rsp(struct mac_context *mac, struct scheduler_msg *limMsgQ, struct pe_session *pe_session); void lim_process_ap_mlm_del_bss_rsp(struct mac_context *mac, - struct scheduler_msg *limMsgQ, - struct pe_session *pe_session); + struct del_bss_param *pDelBss, + struct pe_session *pe_session); void lim_process_ap_mlm_del_sta_rsp(struct mac_context *mac, struct scheduler_msg *limMsgQ, diff --git a/core/mac/src/pe/nan/nan_datapath.c b/core/mac/src/pe/nan/nan_datapath.c index 3505a4d179d9..35e1e53c1da3 100644 --- a/core/mac/src/pe/nan/nan_datapath.c +++ b/core/mac/src/pe/nan/nan_datapath.c @@ -382,10 +382,10 @@ void lim_process_ndi_mlm_add_bss_rsp(struct mac_context *mac_ctx, * Return: None */ void lim_ndi_del_bss_rsp(struct mac_context * mac_ctx, - void *msg, struct pe_session *session_entry) + struct del_bss_param *del_bss, + struct pe_session *session_entry) { tSirResultCodes rc = eSIR_SME_SUCCESS; - tpDeleteBssParams del_bss = (tpDeleteBssParams) msg; SET_LIM_PROCESS_DEFD_MESGS(mac_ctx, true); if (!del_bss) { @@ -394,15 +394,14 @@ void lim_ndi_del_bss_rsp(struct mac_context * mac_ctx, goto end; } session_entry = - pe_find_session_by_session_id(mac_ctx, del_bss->sessionId); + pe_find_session_by_sme_session_id(mac_ctx, del_bss->vdev_id); if (!session_entry) { pe_err("Session Does not exist for given sessionID"); goto end; } if (del_bss->status != QDF_STATUS_SUCCESS) { - pe_err("NDI: DEL_BSS_RSP error (%x) Bss %d", - del_bss->status, del_bss->bss_idx); + pe_err("NDI: DEL_BSS_RSP error (%x)", del_bss->status); rc = eSIR_SME_STOP_BSS_FAILURE; goto end; } diff --git a/core/mac/src/pe/nan/nan_datapath.h b/core/mac/src/pe/nan/nan_datapath.h index 85083298ad1a..2c8106e34754 100644 --- a/core/mac/src/pe/nan/nan_datapath.h +++ b/core/mac/src/pe/nan/nan_datapath.h @@ -46,9 +46,11 @@ void lim_process_ndi_mlm_add_bss_rsp(struct mac_context *mac_ctx, struct pe_session *session_entry); /* Handler for DEL BSS resp for NDI interface */ void lim_ndi_del_bss_rsp(struct mac_context * mac_ctx, - void *msg, struct pe_session *session_entry); + struct del_bss_param *del_bss, + struct pe_session *session_entry); -void lim_ndp_add_sta_rsp(struct mac_context *mac_ctx, struct pe_session *session_entry, +void lim_ndp_add_sta_rsp(struct mac_context *mac_ctx, + struct pe_session *session_entry, tAddStaParams *add_sta_rsp); void lim_process_ndi_del_sta_rsp(struct mac_context *mac_ctx, @@ -71,19 +73,25 @@ void lim_process_ndi_mlm_add_bss_rsp(struct mac_context *mac_ctx, struct pe_session *session_entry) { } -static inline void lim_ndi_del_bss_rsp(struct mac_context *mac_ctx, - void *msg, struct pe_session *session_entry) -{ -} -static inline void lim_process_ndi_del_sta_rsp(struct mac_context *mac_ctx, - struct scheduler_msg *lim_msg, - struct pe_session *pe_session) + +static inline +void lim_ndi_del_bss_rsp(struct mac_context *mac_ctx, + struct del_bss_param *del_bss, + struct pe_session *session_entry) { } -static inline void lim_ndp_add_sta_rsp(struct mac_context *mac_ctx, - struct pe_session *session_entry, - tAddStaParams *add_sta_rsp) +static inline +void lim_process_ndi_del_sta_rsp(struct mac_context *mac_ctx, + struct scheduler_msg *lim_msg, + struct pe_session *pe_session) +{ +} + +static inline +void lim_ndp_add_sta_rsp(struct mac_context *mac_ctx, + struct pe_session *session_entry, + tAddStaParams *add_sta_rsp) { } diff --git a/core/wma/inc/wma_if.h b/core/wma/inc/wma_if.h index 00928f78c003..9192dcd74d31 100644 --- a/core/wma/inc/wma_if.h +++ b/core/wma/inc/wma_if.h @@ -496,22 +496,16 @@ struct bss_params { }; /** - * struct tDeleteBssParams - params required for del bss request - * @bss_idx: BSSID + * struct struct del_bss_param - params required for del bss request * @status: QDF status - * @respReqd: response message to LIM only when this flag is set - * @sessionId: PE session id * @bssid: BSSID mac address - * @smesessionId: sme session id + * @vdev_id: vdev_id */ -typedef struct { - uint8_t bss_idx; +struct del_bss_param { QDF_STATUS status; - uint8_t respReqd; - uint8_t sessionId; tSirMacAddr bssid; - uint8_t smesessionId; -} tDeleteBssParams, *tpDeleteBssParams; + uint8_t vdev_id; +}; typedef enum eDelStaReasonCode { HAL_DEL_STA_REASON_CODE_KEEP_ALIVE = 0x1, diff --git a/core/wma/inc/wma_internal.h b/core/wma/inc/wma_internal.h index df583fb8cb55..b6147b2c4124 100644 --- a/core/wma/inc/wma_internal.h +++ b/core/wma/inc/wma_internal.h @@ -672,14 +672,14 @@ void wma_add_sta(tp_wma_handle wma, tpAddStaParams add_sta); void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta); -void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params); +void wma_delete_bss(tp_wma_handle wma, struct del_bss_param *params); int32_t wma_find_vdev_by_type(tp_wma_handle wma, int32_t type); void wma_set_vdev_intrabss_fwd(tp_wma_handle wma_handle, tpDisableIntraBssFwd pdis_intra_fwd); -void wma_delete_bss_ho_fail(tp_wma_handle wma, tpDeleteBssParams params); +void wma_delete_bss_ho_fail(tp_wma_handle wma, struct del_bss_param *params); uint32_t wma_get_bcn_rate_code(uint16_t rate); diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index 8b624a42d47d..f10f6d3d1826 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -2068,7 +2068,7 @@ static void wma_cleanup_target_req_param(struct wma_target_req *tgt_req) * Return: 0 on success, ERROR code on failure */ static int wma_remove_bss_peer(tp_wma_handle wma, void *pdev, uint32_t vdev_id, - tpDeleteBssParams params) + struct del_bss_param *params) { void *peer, *vdev; uint8_t peer_id; @@ -2221,7 +2221,7 @@ void wma_send_del_bss_response(tp_wma_handle wma, struct wma_target_req *req) { struct wma_txrx_node *iface; struct beacon_info *bcn; - tpDeleteBssParams params; + struct del_bss_param *params; uint8_t vdev_id; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -2241,7 +2241,7 @@ void wma_send_del_bss_response(tp_wma_handle wma, struct wma_target_req *req) return; } - params = (tpDeleteBssParams)req->user_data; + params = (struct del_bss_param *)req->user_data; cdp_fc_vdev_flush(soc, iface->handle); WMA_LOGD("%s, vdev_id: %d, un-pausing tx_ll_queue for VDEV_STOP rsp", @@ -2398,8 +2398,8 @@ __wma_handle_vdev_stop_rsp(struct vdev_stop_response *resp_event) qdf_mc_timer_stop(&req_msg->event_timeout); if (req_msg->msg_type == WMA_DELETE_BSS_HO_FAIL_REQ) { - tpDeleteBssParams params = - (tpDeleteBssParams)req_msg->user_data; + struct del_bss_param *params = + (struct del_bss_param *)req_msg->user_data; peer = cdp_peer_find_by_addr(soc, pdev, params->bssid, &peer_id); @@ -2412,7 +2412,7 @@ __wma_handle_vdev_stop_rsp(struct vdev_stop_response *resp_event) if (!iface->peer_count) { WMA_LOGE("%s: Can't remove peer with peer_addr %pM vdevid %d peer_count %d", - __func__, params->bssid, params->smesessionId, + __func__, params->bssid, resp_event->vdev_id, iface->peer_count); goto free_req_msg; } @@ -2420,7 +2420,7 @@ __wma_handle_vdev_stop_rsp(struct vdev_stop_response *resp_event) if (peer) { WMA_LOGD("%s: vdev %pK is peer_addr %pM to vdev_id %d, peer_count - %d", __func__, peer, params->bssid, - params->smesessionId, iface->peer_count); + resp_event->vdev_id, iface->peer_count); if (cdp_cfg_get_peer_unmap_conf_support(soc)) cdp_peer_delete_sync(soc, peer, wma_peer_unmap_conf_cb, @@ -2428,18 +2428,18 @@ __wma_handle_vdev_stop_rsp(struct vdev_stop_response *resp_event) else cdp_peer_delete(soc, peer, 1 << CDP_PEER_DELETE_NO_SPECIAL); - wma_remove_objmgr_peer(wma, params->smesessionId, + wma_remove_objmgr_peer(wma, resp_event->vdev_id, params->bssid); } iface->peer_count--; WMA_LOGI("%s: Removed peer %pK with peer_addr %pM vdevid %d peer_count %d", - __func__, peer, params->bssid, params->smesessionId, + __func__, peer, params->bssid, resp_event->vdev_id, iface->peer_count); wma_send_vdev_down_req(wma, req_msg); } else if (req_msg->msg_type == WMA_DELETE_BSS_REQ) { - tpDeleteBssParams params = - (tpDeleteBssParams) req_msg->user_data; + struct del_bss_param *params = + (struct del_bss_param *)req_msg->user_data; if (!iface->handle) { WMA_LOGE("%s vdev id %d is already deleted", @@ -3469,8 +3469,8 @@ void wma_hold_req_timer(void *data) wma_send_msg(wma, WMA_SET_LINK_STATE_RSP, params, 0); } else if ((tgt_req->msg_type == WMA_DELETE_STA_REQ) && (tgt_req->type == WMA_DELETE_PEER_RSP)) { - tpDeleteBssParams params = - (tpDeleteBssParams) tgt_req->user_data; + struct del_bss_param *params = + (struct del_bss_param *)tgt_req->user_data; params->status = QDF_STATUS_E_TIMEOUT; WMA_LOGE(FL("wma delete peer for del bss req timed out")); @@ -3718,8 +3718,8 @@ void wma_vdev_resp_timer(void *data) wma_handle_channel_switch_req_timeout(wma, tgt_req); } else if (tgt_req->msg_type == WMA_DELETE_BSS_REQ) { - tpDeleteBssParams params = - (tpDeleteBssParams) tgt_req->user_data; + struct del_bss_param *params = + (struct del_bss_param *)tgt_req->user_data; struct beacon_info *bcn; if (tgt_req->vdev_id >= wma->max_bssid) { @@ -5677,7 +5677,7 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta) * * Return: none */ -void wma_delete_bss_ho_fail(tp_wma_handle wma, tpDeleteBssParams params) +void wma_delete_bss_ho_fail(tp_wma_handle wma, struct del_bss_param *params) { struct cdp_pdev *pdev; QDF_STATUS status = QDF_STATUS_SUCCESS; @@ -5694,15 +5694,15 @@ void wma_delete_bss_ho_fail(tp_wma_handle wma, tpDeleteBssParams params) goto fail_del_bss_ho_fail; } - iface = &wma->interfaces[params->smesessionId]; + iface = &wma->interfaces[params->vdev_id]; if (!iface || !iface->handle) { WMA_LOGE("%s vdev id %d is already deleted", - __func__, params->smesessionId); + __func__, params->vdev_id); goto fail_del_bss_ho_fail; } qdf_mem_zero(iface->bssid, QDF_MAC_ADDR_SIZE); - txrx_vdev = wma_find_vdev_by_id(wma, params->smesessionId); + txrx_vdev = wma_find_vdev_by_id(wma, params->vdev_id); if (!txrx_vdev) { WMA_LOGE("%s:Invalid vdev handle", __func__); status = QDF_STATUS_E_FAILURE; @@ -5730,39 +5730,39 @@ void wma_delete_bss_ho_fail(tp_wma_handle wma, tpDeleteBssParams params) } WMA_LOGD("%s, vdev_id: %d, pausing tx_ll_queue for VDEV_STOP (del_bss)", - __func__, params->smesessionId); + __func__, params->vdev_id); cdp_fc_vdev_pause(soc, iface->handle, OL_TXQ_PAUSE_REASON_VDEV_STOP); - wma_vdev_set_pause_bit(params->smesessionId, PAUSE_TYPE_HOST); + wma_vdev_set_pause_bit(params->vdev_id, PAUSE_TYPE_HOST); cdp_fc_vdev_flush(soc, iface->handle); WMA_LOGD("%s, vdev_id: %d, un-pausing tx_ll_queue for VDEV_STOP rsp", - __func__, params->smesessionId); + __func__, params->vdev_id); cdp_fc_vdev_unpause(soc, iface->handle, OL_TXQ_PAUSE_REASON_VDEV_STOP); - wma_vdev_clear_pause_bit(params->smesessionId, PAUSE_TYPE_HOST); + wma_vdev_clear_pause_bit(params->vdev_id, PAUSE_TYPE_HOST); qdf_atomic_set(&iface->bss_status, WMA_BSS_STATUS_STOPPED); WMA_LOGD("%s: (type %d subtype %d) BSS is stopped", __func__, iface->type, iface->sub_type); params->status = QDF_STATUS_SUCCESS; - msg = wma_fill_vdev_req(wma, params->smesessionId, + msg = wma_fill_vdev_req(wma, params->vdev_id, WMA_DELETE_BSS_HO_FAIL_REQ, WMA_TARGET_REQ_TYPE_VDEV_STOP, params, WMA_VDEV_STOP_REQUEST_TIMEOUT); if (!msg) { WMA_LOGE("%s: Failed to fill vdev request for vdev_id %d", - __func__, params->smesessionId); + __func__, params->vdev_id); status = QDF_STATUS_E_NOMEM; goto fail_del_bss_ho_fail; } /* Try to use the vdev stop response path */ - resp_event.vdev_id = params->smesessionId; + resp_event.vdev_id = params->vdev_id; status = wma_handle_vdev_stop_rsp(wma, &resp_event); if (QDF_IS_STATUS_ERROR(status)) { WMA_LOGE("%s: Failed to handle vdev stop rsp for vdev_id %d", - __func__, params->smesessionId); + __func__, params->vdev_id); goto fail_del_bss_ho_fail; } @@ -5818,7 +5818,7 @@ static void wma_wait_tx_complete(tp_wma_handle wma, * * Return: none */ -void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params) +void wma_delete_bss(tp_wma_handle wma, struct del_bss_param *params) { struct cdp_pdev *pdev; void *peer = NULL; @@ -5836,17 +5836,17 @@ void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params) WMA_LOGE("%s:Unable to get TXRX context", __func__); goto out; } - if (wma_is_vdev_in_ibss_mode(wma, params->smesessionId)) + if (wma_is_vdev_in_ibss_mode(wma, params->vdev_id)) /* in rome ibss case, self mac is used to create the bss peer */ peer = cdp_peer_find_by_addr(soc, pdev, - wma->interfaces[params->smesessionId].addr, + wma->interfaces[params->vdev_id].addr, &peer_id); else if (WMA_IS_VDEV_IN_NDI_MODE(wma->interfaces, - params->smesessionId)) + params->vdev_id)) /* In ndi case, self mac is used to create the self peer */ peer = cdp_peer_find_by_addr(soc, pdev, - wma->interfaces[params->smesessionId].addr, + wma->interfaces[params->vdev_id].addr, &peer_id); else peer = cdp_peer_find_by_addr(soc, pdev, @@ -5860,20 +5860,20 @@ void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params) goto out; } - qdf_mem_zero(wma->interfaces[params->smesessionId].bssid, - QDF_MAC_ADDR_SIZE); + qdf_mem_zero(wma->interfaces[params->vdev_id].bssid, + QDF_MAC_ADDR_SIZE); - txrx_vdev = wma_find_vdev_by_id(wma, params->smesessionId); + txrx_vdev = wma_find_vdev_by_id(wma, params->vdev_id); if (!txrx_vdev) { WMA_LOGE("%s:Invalid vdev handle", __func__); status = QDF_STATUS_E_FAILURE; goto out; } - iface = &wma->interfaces[params->smesessionId]; + iface = &wma->interfaces[params->vdev_id]; if (!iface || !iface->handle) { WMA_LOGE("%s vdev id %d is already deleted", - __func__, params->smesessionId); + __func__, params->vdev_id); goto out; } @@ -5900,26 +5900,26 @@ void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params) if (wlan_op_mode_ibss == cdp_get_opmode(soc, txrx_vdev)) wma->ibss_started = 0; - if (wma_is_roam_synch_in_progress(wma, params->smesessionId)) { + if (wma_is_roam_synch_in_progress(wma, params->vdev_id)) { roam_synch_in_progress = true; WMA_LOGD("LFR3:%s: Setting vdev_up to FALSE for session %d", - __func__, params->smesessionId); + __func__, params->vdev_id); goto detach_peer; } - msg = wma_fill_vdev_req(wma, params->smesessionId, WMA_DELETE_BSS_REQ, + msg = wma_fill_vdev_req(wma, params->vdev_id, WMA_DELETE_BSS_REQ, WMA_TARGET_REQ_TYPE_VDEV_STOP, params, WMA_VDEV_STOP_REQUEST_TIMEOUT); if (!msg) { WMA_LOGE("%s: Failed to fill vdev request for vdev_id %d", - __func__, params->smesessionId); + __func__, params->vdev_id); status = QDF_STATUS_E_NOMEM; goto detach_peer; } WMA_LOGD(FL("Outstanding msdu packets: %d"), cdp_get_tx_pending(soc, pdev)); - wma_wait_tx_complete(wma, params->smesessionId); + wma_wait_tx_complete(wma, params->vdev_id); if (cdp_get_tx_pending(soc, pdev)) { WMA_LOGW(FL("Outstanding msdu packets before VDEV_STOP : %d"), @@ -5927,26 +5927,26 @@ void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params) } WMA_LOGD("%s, vdev_id: %d, pausing tx_ll_queue for VDEV_STOP (del_bss)", - __func__, params->smesessionId); - wma_vdev_set_pause_bit(params->smesessionId, PAUSE_TYPE_HOST); + __func__, params->vdev_id); + wma_vdev_set_pause_bit(params->vdev_id, PAUSE_TYPE_HOST); cdp_fc_vdev_pause(soc, - wma->interfaces[params->smesessionId].handle, + wma->interfaces[params->vdev_id].handle, OL_TXQ_PAUSE_REASON_VDEV_STOP); - if (wma_send_vdev_stop_to_fw(wma, params->smesessionId)) { + if (wma_send_vdev_stop_to_fw(wma, params->vdev_id)) { WMA_LOGE("%s: %d Failed to send vdev stop", __func__, __LINE__); - wma_remove_vdev_req(wma, params->smesessionId, - WMA_TARGET_REQ_TYPE_VDEV_STOP); + wma_remove_vdev_req(wma, params->vdev_id, + WMA_TARGET_REQ_TYPE_VDEV_STOP); status = QDF_STATUS_E_FAILURE; goto detach_peer; } WMA_LOGD("%s: bssid %pM vdev_id %d", - __func__, params->bssid, params->smesessionId); + __func__, params->bssid, params->vdev_id); return; detach_peer: - wma_remove_peer(wma, params->bssid, params->smesessionId, peer, + wma_remove_peer(wma, params->bssid, params->vdev_id, peer, roam_synch_in_progress); - if (wma_is_roam_synch_in_progress(wma, params->smesessionId)) + if (wma_is_roam_synch_in_progress(wma, params->vdev_id)) return; out: diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index cd9964f802bd..07bac1dc96b2 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -8515,11 +8515,10 @@ static QDF_STATUS wma_mc_process_msg(struct scheduler_msg *msg) wma_delete_sta(wma_handle, (tpDeleteStaParams) msg->bodyptr); break; case WMA_DELETE_BSS_HO_FAIL_REQ: - wma_delete_bss_ho_fail(wma_handle, - (tpDeleteBssParams) msg->bodyptr); + wma_delete_bss_ho_fail(wma_handle, msg->bodyptr); break; case WMA_DELETE_BSS_REQ: - wma_delete_bss(wma_handle, (tpDeleteBssParams) msg->bodyptr); + wma_delete_bss(wma_handle, msg->bodyptr); break; case WMA_UPDATE_EDCA_PROFILE_IND: wma_process_update_edca_param_req(wma_handle, diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 403b0923640d..882cfab7f121 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -2621,7 +2621,7 @@ static void wma_roam_update_vdev(tp_wma_handle wma, struct roam_offload_synch_ind *roam_synch_ind_ptr) { - tDeleteBssParams *del_bss_params; + struct del_bss_param *del_bss_params; tDeleteStaParams *del_sta_params; tLinkStateParams *set_link_params; tAddStaParams *add_sta_params; @@ -2659,7 +2659,7 @@ wma_roam_update_vdev(tp_wma_handle wma, qdf_mem_zero(set_link_params, sizeof(*set_link_params)); qdf_mem_zero(add_sta_params, sizeof(*add_sta_params)); - del_bss_params->smesessionId = vdev_id; + del_bss_params->vdev_id = vdev_id; del_sta_params->smesessionId = vdev_id; qdf_mem_copy(del_bss_params->bssid, wma->interfaces[vdev_id].bssid, QDF_MAC_ADDR_SIZE); diff --git a/core/wma/src/wma_utils.c b/core/wma/src/wma_utils.c index ce2d0f9e1a1f..636148136694 100644 --- a/core/wma/src/wma_utils.c +++ b/core/wma/src/wma_utils.c @@ -4196,8 +4196,8 @@ wma_mlme_vdev_notify_down_complete(struct vdev_mlme_obj *vdev_mlme, } if (req->msg_type == WMA_DELETE_BSS_HO_FAIL_REQ) { - tpDeleteBssParams params = - (tpDeleteBssParams)req->user_data; + struct del_bss_param *params = + (struct del_bss_param *)req->user_data; params->status = QDF_STATUS_SUCCESS; wma_send_msg_high_priority(wma, WMA_DELETE_BSS_HO_FAIL_RSP, (void *)params, 0);