diff --git a/components/ipa/core/inc/wlan_ipa_priv.h b/components/ipa/core/inc/wlan_ipa_priv.h index 57756ce533f6..6ed75ede8e07 100644 --- a/components/ipa/core/inc/wlan_ipa_priv.h +++ b/components/ipa/core/inc/wlan_ipa_priv.h @@ -585,7 +585,6 @@ struct wlan_ipa_priv { struct wlan_ipa_iface_context iface_context[WLAN_IPA_MAX_IFACE]; uint8_t num_iface; void *dp_soc; - void *dp_pdev; uint8_t dp_pdev_id; struct wlan_ipa_config *config; enum wlan_ipa_rm_state rm_state; diff --git a/core/cds/inc/cds_sched.h b/core/cds/inc/cds_sched.h index 443533d2aa7a..61bb15ef6311 100644 --- a/core/cds/inc/cds_sched.h +++ b/core/cds/inc/cds_sched.h @@ -276,7 +276,6 @@ struct cds_context { */ qdf_device_t qdf_ctx; - struct cdp_pdev *pdev_txrx_ctx; void *dp_soc; /* Configuration handle used to get system configuration */ diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index d262e19be961..cb08ae29b1fe 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -780,11 +780,10 @@ QDF_STATUS cds_dp_open(struct wlan_objmgr_psoc *psoc) QDF_STATUS qdf_status; struct dp_txrx_config dp_config; - cds_set_context(QDF_MODULE_ID_TXRX, - cdp_pdev_attach(cds_get_context(QDF_MODULE_ID_SOC), - gp_cds_context->htc_ctx, - gp_cds_context->qdf_ctx, 0)); - if (!gp_cds_context->pdev_txrx_ctx) { + qdf_status = cdp_pdev_attach(cds_get_context(QDF_MODULE_ID_SOC), + gp_cds_context->htc_ctx, + gp_cds_context->qdf_ctx, 0); + if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { /* Critical Error ... Cannot proceed further */ cds_alert("Failed to open TXRX"); QDF_ASSERT(0); @@ -1241,16 +1240,12 @@ QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc) QDF_STATUS cds_dp_close(struct wlan_objmgr_psoc *psoc) { - void *ctx; - cdp_txrx_intr_detach(gp_cds_context->dp_soc); - ctx = cds_get_context(QDF_MODULE_ID_TXRX); dp_txrx_deinit(cds_get_context(QDF_MODULE_ID_SOC)); cdp_pdev_detach(cds_get_context(QDF_MODULE_ID_SOC), OL_TXRX_PDEV_ID, 1); - cds_set_context(QDF_MODULE_ID_TXRX, NULL); ucfg_pmo_psoc_set_txrx_pdev_id(psoc, OL_TXRX_INVALID_PDEV_ID); return QDF_STATUS_SUCCESS; @@ -1331,12 +1326,6 @@ void *cds_get_context(QDF_MODULE_ID module_id) break; } - case QDF_MODULE_ID_TXRX: - { - context = (void *)gp_cds_context->pdev_txrx_ctx; - break; - } - case QDF_MODULE_ID_CFG: { context = gp_cds_context->cfg_ctx; @@ -1540,9 +1529,6 @@ QDF_STATUS cds_set_context(QDF_MODULE_ID module_id, void *context) case QDF_MODULE_ID_HDD: p_cds_context->hdd_context = context; break; - case QDF_MODULE_ID_TXRX: - p_cds_context->pdev_txrx_ctx = context; - break; case QDF_MODULE_ID_HIF: p_cds_context->hif_context = context; break; @@ -1590,10 +1576,6 @@ QDF_STATUS cds_free_context(QDF_MODULE_ID module_id, void *module_context) cds_mod_context = &gp_cds_context->hif_context; break; - case QDF_MODULE_ID_TXRX: - cds_mod_context = (void **)&gp_cds_context->pdev_txrx_ctx; - break; - case QDF_MODULE_ID_BMI: cds_mod_context = &gp_cds_context->g_ol_context; break; diff --git a/core/dp/ol/inc/ol_txrx_ctrl_api.h b/core/dp/ol/inc/ol_txrx_ctrl_api.h index 3934271ebd01..e829076b6f4b 100644 --- a/core/dp/ol/inc/ol_txrx_ctrl_api.h +++ b/core/dp/ol/inc/ol_txrx_ctrl_api.h @@ -497,7 +497,7 @@ static inline void ol_tx_flow_pool_resize_handler(uint8_t flow_pool_id, void ol_tx_register_flow_control(struct ol_txrx_pdev_t *pdev); void ol_tx_deregister_flow_control(struct ol_txrx_pdev_t *pdev); void ol_tx_dump_flow_pool_info(struct cdp_soc_t *soc_hdl); -void ol_tx_dump_flow_pool_info_compact(void *pdev); +void ol_tx_dump_flow_pool_info_compact(struct ol_txrx_pdev_t *pdev); void ol_tx_clear_flow_pool_stats(void); void ol_tx_flow_pool_map_handler(uint8_t flow_id, uint8_t flow_type, uint8_t flow_pool_id, uint16_t flow_pool_size); @@ -544,14 +544,14 @@ static inline void ol_tx_deregister_flow_control(struct ol_txrx_pdev_t *pdev) #if defined(CONFIG_HL_SUPPORT) && defined(QCA_HL_NETDEV_FLOW_CONTROL) void ol_tx_dump_flow_pool_info(struct cdp_soc_t *soc_hdl); -void ol_tx_dump_flow_pool_info_compact(void *pdev); +void ol_tx_dump_flow_pool_info_compact(struct ol_txrx_pdev_t *pdev); #else static inline void ol_tx_dump_flow_pool_info(struct cdp_soc_t *soc_hdl) { } static inline -void ol_tx_dump_flow_pool_info_compact(void *ctx) +void ol_tx_dump_flow_pool_info_compact(struct ol_txrx_pdev_t *pdev) { } #endif diff --git a/core/dp/txrx/ol_tx_hl.c b/core/dp/txrx/ol_tx_hl.c index ae296e991b70..4a7064984510 100644 --- a/core/dp/txrx/ol_tx_hl.c +++ b/core/dp/txrx/ol_tx_hl.c @@ -2277,9 +2277,8 @@ int ol_txrx_set_vdev_tx_desc_limit(struct cdp_soc_t *soc_hdl, u8 vdev_id, return 0; } -void ol_tx_dump_flow_pool_info_compact(void *ctx) +void ol_tx_dump_flow_pool_info_compact(struct ol_txrx_pdev_t *pdev) { - struct ol_txrx_pdev_t *pdev = cds_get_context(QDF_MODULE_ID_TXRX); char *comb_log_str; int bytes_written = 0; uint32_t free_size; diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index a8b5aa585f7e..c2555dd97f3a 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -780,24 +780,27 @@ static inline void ol_txrx_debugfs_exit(ol_txrx_pdev_handle pdev) * @osdev: os dev * @pdev_id: pdev identifier for pdev attach * - * Return: txrx pdev handle - * NULL for failure + * Return: QDF_STATUS_SUCCESS on success + * QDF error code for failure */ -static struct cdp_pdev * +static QDF_STATUS ol_txrx_pdev_attach(ol_txrx_soc_handle soc, HTC_HANDLE htc_pdev, qdf_device_t osdev, uint8_t pdev_id) { struct ol_txrx_soc_t *ol_soc = cdp_soc_t_to_ol_txrx_soc_t(soc); struct ol_txrx_pdev_t *pdev; struct cdp_cfg *cfg_pdev = cds_get_context(QDF_MODULE_ID_CFG); + QDF_STATUS status; int i, tid; if (pdev_id == OL_TXRX_INVALID_PDEV_ID) - return NULL; + return QDF_STATUS_E_INVAL; pdev = qdf_mem_malloc(sizeof(*pdev)); - if (!pdev) + if (!pdev) { + status = QDF_STATUS_E_NOMEM; goto fail0; + } /* init LL/HL cfg here */ pdev->cfg.is_high_latency = ol_cfg_is_high_latency(cfg_pdev); @@ -836,8 +839,10 @@ ol_txrx_pdev_attach(ol_txrx_soc_handle soc, qdf_spinlock_create(&pdev->tx_mutex); /* do initial set up of the peer ID -> peer object lookup map */ - if (ol_txrx_peer_find_attach(pdev)) + if (ol_txrx_peer_find_attach(pdev)) { + status = QDF_STATUS_E_FAILURE; goto fail1; + } /* initialize the counter of the target's tx buffer availability */ qdf_atomic_init(&pdev->target_tx_credit); @@ -848,16 +853,20 @@ ol_txrx_pdev_attach(ol_txrx_soc_handle soc, if (ol_cfg_is_high_latency(cfg_pdev)) { qdf_spinlock_create(&pdev->tx_queue_spinlock); pdev->tx_sched.scheduler = ol_tx_sched_attach(pdev); - if (!pdev->tx_sched.scheduler) + if (!pdev->tx_sched.scheduler) { + status = QDF_STATUS_E_FAILURE; goto fail2; + } } ol_txrx_pdev_txq_log_init(pdev); ol_txrx_pdev_grp_stats_init(pdev); pdev->htt_pdev = htt_pdev_alloc(pdev, cfg_pdev, htc_pdev, osdev); - if (!pdev->htt_pdev) + if (!pdev->htt_pdev) { + status = QDF_STATUS_E_FAILURE; goto fail3; + } htt_register_rx_pkt_dump_callback(pdev->htt_pdev, ol_rx_pkt_dump_call); @@ -893,7 +902,7 @@ ol_txrx_pdev_attach(ol_txrx_soc_handle soc, ol_txrx_debugfs_init(pdev); - return (struct cdp_pdev *)pdev; + return QDF_STATUS_SUCCESS; fail3: ol_txrx_peer_find_detach(pdev); @@ -903,13 +912,14 @@ fail2: qdf_spinlock_destroy(&pdev->tx_queue_spinlock); fail1: + qdf_spinlock_destroy(&pdev->req_list_spinlock); qdf_spinlock_destroy(&pdev->tx_mutex); ol_txrx_tso_stats_deinit(pdev); ol_txrx_fw_stats_desc_pool_deinit(pdev); qdf_mem_free(pdev); fail0: - return NULL; + return status; } #if !defined(REMOVE_PKT_LOG) && !defined(QVIT) @@ -1787,9 +1797,10 @@ ol_txrx_vdev_per_vdev_tx_desc_init(struct ol_txrx_vdev_t *vdev) * an IBSS, or a STA * @subtype: Subtype of the operating vdev * - * Return: success: handle to new data vdev object, failure: NULL + * Return: QDF_STATUS_SUCCESS on success, + QDF error code on failure */ -static struct cdp_vdev * +static QDF_STATUS ol_txrx_vdev_attach(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, uint8_t *vdev_mac_addr, uint8_t vdev_id, enum wlan_op_mode op_mode, @@ -1808,12 +1819,12 @@ ol_txrx_vdev_attach(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, if (qdf_unlikely(!soc)) { ol_txrx_err("soc is NULL"); - return NULL; + return QDF_STATUS_E_INVAL; } vdev = qdf_mem_malloc(sizeof(*vdev)); if (!vdev) - return NULL; /* failure */ + return QDF_STATUS_E_NOMEM; /* failure */ /* store provided params */ vdev->pdev = pdev; @@ -1904,7 +1915,7 @@ ol_txrx_vdev_attach(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, */ htt_vdev_attach(pdev->htt_pdev, vdev_id, op_mode); - return (struct cdp_vdev *)vdev; + return QDF_STATUS_SUCCESS; } /** @@ -2272,9 +2283,9 @@ static void ol_txrx_dump_peer_access_list(ol_txrx_peer_handle peer) * so a reference within the control peer object can be set to the * data peer object. * - * Return: 0 on success, -1 on failure + * Return: QDF status code */ -static void * +static QDF_STATUS ol_txrx_peer_attach(struct cdp_soc_t *soc_hdl, uint8_t vdev_id, uint8_t *peer_mac_addr) { @@ -2322,7 +2333,7 @@ ol_txrx_peer_attach(struct cdp_soc_t *soc_hdl, uint8_t vdev_id, break; } else { qdf_spin_unlock_bh(&pdev->peer_ref_mutex); - return NULL; + return QDF_STATUS_E_FAILURE; } } if (cmp_wait_mac && !ol_txrx_peer_find_mac_addr_cmp( @@ -2342,7 +2353,7 @@ ol_txrx_peer_attach(struct cdp_soc_t *soc_hdl, uint8_t vdev_id, } else { qdf_spin_unlock_bh(&pdev->peer_ref_mutex); ol_txrx_err("peer not found"); - return NULL; + return QDF_STATUS_E_FAILURE; } } } @@ -2362,13 +2373,13 @@ ol_txrx_peer_attach(struct cdp_soc_t *soc_hdl, uint8_t vdev_id, wlan_roam_debug_dump_table(); vdev->wait_on_peer_id = OL_TXRX_INVALID_LOCAL_PEER_ID; - return NULL; + return QDF_STATUS_E_FAILURE; } } peer = qdf_mem_malloc(sizeof(*peer)); if (!peer) - return NULL; + return QDF_STATUS_E_NOMEM; /* store provided params */ peer->vdev = vdev; @@ -2459,7 +2470,7 @@ ol_txrx_peer_attach(struct cdp_soc_t *soc_hdl, uint8_t vdev_id, ol_txrx_local_peer_id_alloc(pdev, peer); - return (void *)peer; + return QDF_STATUS_SUCCESS; } #undef PEER_DEL_TIMEOUT @@ -4650,7 +4661,7 @@ ol_txrx_display_stats(struct cdp_soc_t *soc_hdl, uint16_t value, break; case CDP_DUMP_TX_FLOW_POOL_INFO: if (verb_level == QDF_STATS_VERBOSITY_LEVEL_LOW) - ol_tx_dump_flow_pool_info_compact((void *)pdev); + ol_tx_dump_flow_pool_info_compact(pdev); else ol_tx_dump_flow_pool_info(soc_hdl); break; diff --git a/core/dp/txrx/ol_txrx_flow_control.c b/core/dp/txrx/ol_txrx_flow_control.c index a02dbfb6940b..de8eee9452c3 100644 --- a/core/dp/txrx/ol_txrx_flow_control.c +++ b/core/dp/txrx/ol_txrx_flow_control.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2019 The Linux Foundation. All rights reserved. + * Copyright (c) 2015-2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -373,9 +373,8 @@ static const char *ol_tx_flow_pool_status_to_str } } -void ol_tx_dump_flow_pool_info_compact(void *ctx) +void ol_tx_dump_flow_pool_info_compact(struct ol_txrx_pdev_t *pdev) { - struct ol_txrx_pdev_t *pdev = cds_get_context(QDF_MODULE_ID_TXRX); char *comb_log_str; int bytes_written = 0; uint32_t free_size; diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index ecd6a855dd56..a864b39ead15 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -2132,9 +2132,6 @@ int hdd_update_tgt_cfg(hdd_handle_t hdd_handle, struct wma_tgt_cfg *cfg) */ hdd_component_cfg_chan_to_freq(hdd_ctx->pdev); - wlan_pdev_set_dp_handle(hdd_ctx->pdev, - cds_get_context(QDF_MODULE_ID_TXRX)); - hdd_objmgr_update_tgt_max_vdev_psoc(hdd_ctx, cfg->max_intf_count); ucfg_ipa_set_dp_handle(hdd_ctx->psoc, diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h index f8f9e4cc4f84..7a1f5ade99c0 100644 --- a/core/wma/inc/wma.h +++ b/core/wma/inc/wma.h @@ -1899,13 +1899,8 @@ void wma_vdev_update_pause_bitmap(uint8_t vdev_id, uint16_t value) iface = &wma->interfaces[vdev_id]; - if (!iface || !iface->vdev) { - WMA_LOGE("%s: Vdev is NULL", __func__); - return; - } - - if (!wlan_vdev_get_dp_handle(iface->vdev)) { - WMA_LOGE("%s: Failed to get dp handle", __func__); + if (!iface) { + WMA_LOGE("%s: Interface is NULL", __func__); return; } @@ -1931,13 +1926,8 @@ uint16_t wma_vdev_get_pause_bitmap(uint8_t vdev_id) iface = &wma->interfaces[vdev_id]; - if (!iface || !iface->vdev) { - WMA_LOGE("%s: Vdev is NULL", __func__); - return 0; - } - - if (!wlan_vdev_get_dp_handle(iface->vdev)) { - WMA_LOGE("%s: Failed to get dp handle", __func__); + if (!iface) { + WMA_LOGE("%s: Interface is NULL", __func__); return 0; } @@ -1962,13 +1952,8 @@ static inline bool wma_vdev_is_device_in_low_pwr_mode(uint8_t vdev_id) iface = &wma->interfaces[vdev_id]; - if (!iface || !iface->vdev) { - WMA_LOGE("%s: Vdev is NULL", __func__); - return 0; - } - - if (!wlan_vdev_get_dp_handle(iface->vdev)) { - WMA_LOGE("%s: Failed to get dp handle", __func__); + if (!iface) { + WMA_LOGE("%s: Interface is NULL", __func__); return 0; } @@ -1998,7 +1983,7 @@ QDF_STATUS wma_vdev_get_dtim_period(uint8_t vdev_id, uint8_t *value) iface = &wma->interfaces[vdev_id]; - if (!iface || !iface->vdev || !wlan_vdev_get_dp_handle(iface->vdev)) + if (!iface) return QDF_STATUS_E_FAILURE; *value = iface->dtimPeriod; @@ -2028,7 +2013,7 @@ QDF_STATUS wma_vdev_get_beacon_interval(uint8_t vdev_id, uint16_t *value) iface = &wma->interfaces[vdev_id]; - if (!iface || !iface->vdev || !wlan_vdev_get_dp_handle(iface->vdev)) + if (!iface) return QDF_STATUS_E_FAILURE; *value = iface->beaconInterval; @@ -2085,13 +2070,8 @@ void wma_vdev_set_pause_bit(uint8_t vdev_id, wmi_tx_pause_type bit_pos) iface = &wma->interfaces[vdev_id]; - if (!iface || !iface->vdev) { - WMA_LOGE("%s: Vdev is NULL", __func__); - return; - } - - if (!wlan_vdev_get_dp_handle(iface->vdev)) { - WMA_LOGE("%s: Failed to get dp handle", __func__); + if (!iface) { + WMA_LOGE("%s: Interface is NULL", __func__); return; } @@ -2118,13 +2098,8 @@ void wma_vdev_clear_pause_bit(uint8_t vdev_id, wmi_tx_pause_type bit_pos) iface = &wma->interfaces[vdev_id]; - if (!iface || !iface->vdev) { - WMA_LOGE("%s: Vdev is NULL", __func__); - return; - } - - if (!wlan_vdev_get_dp_handle(iface->vdev)) { - WMA_LOGE("%s: Failed to get dp handle", __func__); + if (!iface) { + WMA_LOGE("%s: Interface is NULL", __func__); return; } diff --git a/core/wma/inc/wma_internal.h b/core/wma/inc/wma_internal.h index f379cd70cf6c..80733b73c8d5 100644 --- a/core/wma/inc/wma_internal.h +++ b/core/wma/inc/wma_internal.h @@ -578,26 +578,6 @@ static inline bool wma_is_roam_synch_in_progress(tp_wma_handle wma, QDF_STATUS wma_find_vdev_id_by_addr(tp_wma_handle wma, uint8_t *addr, uint8_t *vdev_id); -/** - * wma_find_vdev_by_id() - Returns vdev handle for given vdev id. - * @wma - wma handle - * @vdev_id - vdev ID - * - * Return: Returns vdev handle if given vdev id is valid. - * Otherwise returns NULL. - */ -static inline -struct cdp_vdev *wma_find_vdev_by_id(tp_wma_handle wma, uint8_t vdev_id) -{ - if (vdev_id >= wma->max_bssid) - return NULL; - - if (!wma->interfaces[vdev_id].vdev) - return NULL; - - return wlan_vdev_get_dp_handle(wma->interfaces[vdev_id].vdev); -} - bool wma_is_vdev_in_ap_mode(tp_wma_handle wma, uint8_t vdev_id); #ifdef QCA_IBSS_SUPPORT diff --git a/core/wma/src/wma_data.c b/core/wma/src/wma_data.c index 12781a712005..b37b38960fc3 100644 --- a/core/wma/src/wma_data.c +++ b/core/wma/src/wma_data.c @@ -1508,7 +1508,6 @@ int wma_mcc_vdev_tx_pause_evt_handler(void *handle, uint8_t *event, wmi_tx_pause_event_fixed_param *wmi_event; uint8_t vdev_id; A_UINT32 vdev_map; - struct cdp_vdev *dp_handle; void *soc = cds_get_context(QDF_MODULE_ID_SOC); param_buf = (WMI_TX_PAUSE_EVENTID_param_tlvs *) event; @@ -1545,15 +1544,6 @@ int wma_mcc_vdev_tx_pause_evt_handler(void *handle, uint8_t *event, vdev_map >>= 1; continue; } - dp_handle = wlan_vdev_get_dp_handle - (wma->interfaces[vdev_id].vdev); - if (!dp_handle) { - WMA_LOGE("%s: invalid vdev ID %d", __func__, - vdev_id); - /* Test Next VDEV */ - vdev_map >>= 1; - continue; - } wma_process_vdev_tx_pause_evt(soc, wma, wmi_event, diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index c4f97aa02806..01bd6024048d 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -505,10 +505,8 @@ wma_cdp_vdev_detach(ol_txrx_soc_handle soc, tp_wma_handle wma_handle, return; } - if (soc && wlan_vdev_get_id(vdev) != WLAN_INVALID_VDEV_ID) { - wlan_vdev_set_dp_handle(vdev, NULL); + if (soc && wlan_vdev_get_id(vdev) != WLAN_INVALID_VDEV_ID) cdp_vdev_detach(soc, vdev_id, NULL, NULL); - } } /** @@ -796,12 +794,6 @@ QDF_STATUS wma_vdev_detach(tp_wma_handle wma_handle, goto send_rsp; } - if (!wlan_vdev_get_dp_handle(iface->vdev)) { - WMA_LOGE("%s: Failed to get dp handle for vdev id %d", - __func__, vdev_id); - goto send_rsp; - } - status = wma_check_for_deffered_peer_delete(wma_handle, pdel_vdev_req_param); if (QDF_IS_STATUS_ERROR(status)) @@ -1694,6 +1686,7 @@ QDF_STATUS wma_create_peer(tp_wma_handle wma, struct wlan_objmgr_psoc *psoc = wma->psoc; target_resource_config *wlan_res_cfg; struct wlan_objmgr_peer *obj_peer = NULL; + QDF_STATUS status; if (!psoc) { WMA_LOGE("%s: psoc is NULL", __func__); @@ -1741,11 +1734,13 @@ QDF_STATUS wma_create_peer(tp_wma_handle wma, * where the HTT peer map event is received before the peer object * is created in the data path */ - if (!cdp_peer_create(dp_soc, vdev_id, peer_addr)) { + status = cdp_peer_create(dp_soc, vdev_id, peer_addr); + if (QDF_IS_STATUS_ERROR(status)) { WMA_LOGE("%s : Unable to attach peer %pM", __func__, peer_addr); wlan_objmgr_peer_obj_delete(obj_peer); goto err; } + WMA_LOGD("%s: attaching peer_addr %pM to vdev_id %d, peer_count %d", __func__, peer_addr, vdev_id, wma->interfaces[vdev_id].peer_count); @@ -2260,13 +2255,6 @@ __wma_handle_vdev_stop_rsp(struct vdev_stop_response *resp_event) vdev_stop_type == WMA_SET_LINK_STATE) { uint8_t type; - if (!wlan_vdev_get_dp_handle(iface->vdev)) { - WMA_LOGE("%s: Failed to get dp handle for vdev id %d", - __func__, resp_event->vdev_id); - status = -EINVAL; - goto free_params; - } - /* CCA is required only for sta interface */ if (iface->type == WMI_VDEV_TYPE_STA) wma_get_cca_stats(wma, resp_event->vdev_id); @@ -3838,7 +3826,6 @@ static void wma_add_sta_req_ap_mode(tp_wma_handle wma, tpAddStaParams add_sta) { enum ol_txrx_peer_state state = OL_TXRX_PEER_STATE_CONN; uint8_t pdev_id = OL_TXRX_PDEV_ID; - struct cdp_vdev *vdev; QDF_STATUS status; int32_t ret; struct wma_txrx_node *iface = NULL; @@ -3863,13 +3850,6 @@ static void wma_add_sta_req_ap_mode(tp_wma_handle wma, tpAddStaParams add_sta) goto send_rsp; } - vdev = wma_find_vdev_by_id(wma, add_sta->smesessionId); - if (!vdev) { - WMA_LOGE("%s: Failed to find vdev", __func__); - add_sta->status = QDF_STATUS_E_FAILURE; - goto send_rsp; - } - iface = &wma->interfaces[add_sta->smesessionId]; if (cdp_find_peer_exist_on_vdev(soc, add_sta->smesessionId, @@ -3886,8 +3866,8 @@ static void wma_add_sta_req_ap_mode(tp_wma_handle wma, tpAddStaParams add_sta) * here. */ if (cdp_find_peer_exist(soc, pdev_id, add_sta->staMac)) { - WMA_LOGE("%s: My vdev:%pK, but Peer exists on other vdev with peer_addr %pM", - __func__, vdev, add_sta->staMac); + WMA_LOGE("%s: My vdev id %d, but Peer exists on other vdev with peer_addr %pM", + __func__, add_sta->smesessionId, add_sta->staMac); add_sta->status = QDF_STATUS_E_FAILURE; goto send_rsp; } @@ -4874,7 +4854,7 @@ void wma_delete_bss(tp_wma_handle wma, uint8_t vdev_id) uint8_t *addr, *bssid_addr; iface = &wma->interfaces[vdev_id]; - if (!iface || !iface->vdev || !wlan_vdev_get_dp_handle(iface->vdev)) { + if (!iface || !iface->vdev) { WMA_LOGE("%s vdev id %d is already deleted", __func__, vdev_id); goto out; diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 4716ff9e620c..3d6d17c0432e 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -1791,9 +1791,6 @@ static void wma_state_info_dump(char **buf_ptr, uint16_t *size) if (!vdev) continue; - if (!wlan_vdev_get_dp_handle(iface->vdev)) - continue; - status = wma_get_vdev_rate_flag(iface->vdev, &rate_flag); if (QDF_IS_STATUS_ERROR(status)) continue; @@ -4273,10 +4270,10 @@ QDF_STATUS wma_stop(void) vdev = wma_handle->interfaces[i].vdev; if (!vdev) continue; - if (wlan_vdev_get_dp_handle(vdev) && wma_is_vdev_up(i)) { + + if (wma_is_vdev_up(i)) cdp_fc_vdev_flush(cds_get_context(QDF_MODULE_ID_SOC), i); - } } if (!mac->mlme_cfg->gen.enable_remove_time_stamp_sync_cmd && diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c index 5bed150c9d3b..9c7e74490afe 100644 --- a/core/wma/src/wma_mgmt.c +++ b/core/wma/src/wma_mgmt.c @@ -497,7 +497,6 @@ int wma_unified_bcntx_status_event_handler(void *handle, WMI_OFFLOAD_BCN_TX_STATUS_EVENTID_param_tlvs *param_buf; wmi_offload_bcn_tx_status_event_fixed_param *resp_event; tSirFirstBeaconTxCompleteInd *beacon_tx_complete_ind; - struct cdp_vdev *dp_handle; param_buf = (WMI_OFFLOAD_BCN_TX_STATUS_EVENTID_param_tlvs *) cmd_param_info; @@ -524,13 +523,6 @@ int wma_unified_bcntx_status_event_handler(void *handle, __func__, resp_event->vdev_id); return -EINVAL; } - dp_handle = wlan_vdev_get_dp_handle - (wma->interfaces[resp_event->vdev_id].vdev); - if (!dp_handle) { - WMA_LOGE("%s: Failed to get dp handle for vdev id %d", - __func__, resp_event->vdev_id); - return -EINVAL; - } /* Beacon Tx Indication supports only AP mode. Ignore in other modes */ if (wma_is_vdev_in_ap_mode(wma, resp_event->vdev_id) == false) { @@ -1826,23 +1818,19 @@ void wma_update_rts_params(tp_wma_handle wma, uint32_t value) { uint8_t vdev_id; QDF_STATUS ret; - struct cdp_vdev *handle; struct wlan_objmgr_vdev *vdev; for (vdev_id = 0; vdev_id < wma->max_bssid; vdev_id++) { vdev = wma->interfaces[vdev_id].vdev; if (!vdev) continue; - handle = wlan_vdev_get_dp_handle(vdev); - if (handle) { - ret = wma_vdev_set_param(wma->wmi_handle, - vdev_id, - WMI_VDEV_PARAM_RTS_THRESHOLD, - value); - if (QDF_IS_STATUS_ERROR(ret)) - WMA_LOGE("Update cfg param fail for vdevId %d", - vdev_id); - } + ret = wma_vdev_set_param(wma->wmi_handle, + vdev_id, + WMI_VDEV_PARAM_RTS_THRESHOLD, + value); + if (QDF_IS_STATUS_ERROR(ret)) + WMA_LOGE("Update cfg param fail for vdevId %d", + vdev_id); } } @@ -1850,23 +1838,18 @@ void wma_update_frag_params(tp_wma_handle wma, uint32_t value) { uint8_t vdev_id; QDF_STATUS ret; - struct cdp_vdev *handle; struct wlan_objmgr_vdev *vdev; for (vdev_id = 0; vdev_id < wma->max_bssid; vdev_id++) { vdev = wma->interfaces[vdev_id].vdev; if (!vdev) continue; - handle = wlan_vdev_get_dp_handle(vdev); - if (handle) { - ret = wma_vdev_set_param(wma->wmi_handle, - vdev_id, - WMI_VDEV_PARAM_FRAGMENTATION_THRESHOLD, - value); - if (QDF_IS_STATUS_ERROR(ret)) - WMA_LOGE("Update cfg params failed for vdevId %d", - vdev_id); - } + ret = wma_vdev_set_param(wma->wmi_handle, vdev_id, + WMI_VDEV_PARAM_FRAGMENTATION_THRESHOLD, + value); + if (QDF_IS_STATUS_ERROR(ret)) + WMA_LOGE("Update cfg params failed for vdevId %d", + vdev_id); } } @@ -2342,8 +2325,7 @@ int wma_tbttoffset_update_event_handler(void *handle, uint8_t *event, if (!intf[if_id].vdev) continue; - if (!(vdev_map & 0x1) || - (!wlan_vdev_get_dp_handle(intf[if_id].vdev))) + if (!(vdev_map & 0x1)) continue; bcn = intf[if_id].beacon; diff --git a/core/wma/src/wma_power.c b/core/wma/src/wma_power.c index e605e442d441..98bc2033bcf9 100644 --- a/core/wma/src/wma_power.c +++ b/core/wma/src/wma_power.c @@ -731,10 +731,6 @@ void wma_enable_sta_ps_mode(tp_wma_handle wma, tpEnablePsParams ps_req) return; } - if (!wlan_vdev_get_dp_handle(iface->vdev)) { - WMA_LOGE("vdev id %d is not active", vdev_id); - return; - } if (eSIR_ADDON_NOTHING == ps_req->psSetting) { if (qpower_config && iface->uapsd_cached_val) { qpower_config = 0; @@ -878,10 +874,6 @@ void wma_enable_uapsd_mode(tp_wma_handle wma, tpEnableUapsdParams ps_req) WMA_LOGE("%s: vdev is NULL for vdev_%d", __func__, vdev_id); return; } - if (!wlan_vdev_get_dp_handle(iface->vdev)) { - WMA_LOGE("vdev id %d is not active", vdev_id); - return; - } /* Disable Sta Mode Power save */ ret = wmi_unified_set_sta_ps(wma->wmi_handle, vdev_id, false); diff --git a/core/wma/src/wma_utils.c b/core/wma/src/wma_utils.c index dbd99d839b71..5b815f62333c 100644 --- a/core/wma/src/wma_utils.c +++ b/core/wma/src/wma_utils.c @@ -2301,12 +2301,6 @@ QDF_STATUS wma_process_ll_stats_clear_req(tp_wma_handle wma, return QDF_STATUS_E_FAILURE; } - if (!wlan_vdev_get_dp_handle(vdev)) { - WMA_LOGE("%s: vdev_id %d dp handle is NULL", - __func__, clearReq->staId); - return QDF_STATUS_E_FAILURE; - } - cmd.stop_req = clearReq->stopReq; cmd.vdev_id = clearReq->staId; cmd.stats_clear_mask = clearReq->statsClearReqMask;