diff --git a/core/dp/ol/inc/ol_txrx_osif_api.h b/core/dp/ol/inc/ol_txrx_osif_api.h index 3d2d7853e67e..a880d46a29bf 100644 --- a/core/dp/ol/inc/ol_txrx_osif_api.h +++ b/core/dp/ol/inc/ol_txrx_osif_api.h @@ -69,7 +69,7 @@ qdf_nbuf_t ol_txrx_osif_tso_segment(ol_txrx_vdev_handle txrx_vdev, int max_seg_payload_bytes, qdf_nbuf_t jumbo_tcp_frame); -qdf_nbuf_t ol_tx_data(struct cdp_vdev *data_vdev, qdf_nbuf_t skb); +qdf_nbuf_t ol_tx_data(struct cdp_soc_t *soc, uint8_t vdev_id, qdf_nbuf_t skb); void ol_rx_data_process(struct ol_txrx_peer_t *peer, qdf_nbuf_t rx_buf_list); diff --git a/core/dp/txrx/ol_tx.c b/core/dp/txrx/ol_tx.c index 7a7a6657a19b..d6c7d24981cb 100644 --- a/core/dp/txrx/ol_tx.c +++ b/core/dp/txrx/ol_tx.c @@ -43,16 +43,20 @@ /** * ol_tx_data() - send data frame - * @vdev: virtual device handle + * @soc_hdl: datapath soc handle + * @vdev_id: virtual interface id * @skb: skb * * Return: skb/NULL for success */ -qdf_nbuf_t ol_tx_data(struct cdp_vdev *data_vdev, qdf_nbuf_t skb) +qdf_nbuf_t ol_tx_data(struct cdp_soc_t *soc_hdl, uint8_t vdev_id, + qdf_nbuf_t skb) { struct ol_txrx_pdev_t *pdev; qdf_nbuf_t ret; - ol_txrx_vdev_handle vdev = (struct ol_txrx_vdev_t *)data_vdev; + struct ol_txrx_soc_t *soc = cdp_soc_t_to_ol_txrx_soc_t(soc_hdl); + ol_txrx_vdev_handle vdev = ol_txrx_get_vdev_from_soc_vdev_id(soc, + vdev_id); if (qdf_unlikely(!vdev)) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 6626b006139a..970087c1986d 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -1058,8 +1058,6 @@ struct hdd_adapter { qdf_spinlock_t vdev_lock; uint8_t vdev_id; - struct cdp_vdev *txrx_vdev; - /** Handle to the network device */ struct net_device *dev; diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index 48e2540907ed..f4fadd21b3f8 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -2144,13 +2144,6 @@ QDF_STATUS hdd_roam_register_sta(struct hdd_adapter *adapter, txrx_ops.rx.stats_rx = hdd_tx_rx_collect_connectivity_stats_info; - adapter->txrx_vdev = cdp_get_vdev_from_vdev_id(soc, - (struct cdp_pdev *)pdev, - adapter->vdev_id); - if (!adapter->txrx_vdev) { - return QDF_STATUS_E_FAILURE; - } - txrx_ops.tx.tx = NULL; cdp_vdev_register(soc, adapter->vdev_id, (ol_osif_vdev_handle)adapter, &txrx_ops); diff --git a/core/hdd/src/wlan_hdd_softap_tx_rx.c b/core/hdd/src/wlan_hdd_softap_tx_rx.c index ffe1661b087e..bd5ea4f161da 100644 --- a/core/hdd/src/wlan_hdd_softap_tx_rx.c +++ b/core/hdd/src/wlan_hdd_softap_tx_rx.c @@ -422,7 +422,7 @@ static void __hdd_softap_hard_start_xmit(struct sk_buff *skb, struct hdd_context *hdd_ctx = adapter->hdd_ctx; struct qdf_mac_addr *dest_mac_addr, *mac_addr; static struct qdf_mac_addr bcast_mac_addr = QDF_MAC_ADDR_BCAST_INIT; - + void *soc = cds_get_context(QDF_MODULE_ID_SOC); uint32_t num_seg; struct hdd_station_info *sta_info; @@ -596,8 +596,7 @@ static void __hdd_softap_hard_start_xmit(struct sk_buff *skb, goto drop_pkt_and_release_skb; } - if (adapter->tx_fn(adapter->txrx_vdev, - (qdf_nbuf_t)skb) != NULL) { + if (adapter->tx_fn(soc, adapter->vdev_id, (qdf_nbuf_t)skb)) { QDF_TRACE(QDF_MODULE_ID_HDD_SAP_DATA, QDF_TRACE_LEVEL_INFO_HIGH, "%s: Failed to send packet to txrx for sta: " QDF_MAC_ADDR_STR, __func__, @@ -729,7 +728,6 @@ QDF_STATUS hdd_softap_deinit_tx_rx(struct hdd_adapter *adapter) if (!adapter) return QDF_STATUS_E_FAILURE; - adapter->txrx_vdev = NULL; adapter->tx_fn = NULL; return QDF_STATUS_SUCCESS; @@ -1079,9 +1077,6 @@ QDF_STATUS hdd_softap_register_sta(struct hdd_adapter *adapter, adapter->vdev_id, (ol_osif_vdev_handle)adapter, &txrx_ops); - adapter->txrx_vdev = cdp_get_vdev_from_vdev_id(soc, - (struct cdp_pdev *)pdev, - adapter->vdev_id); adapter->tx_fn = txrx_ops.tx.tx; qdf_status = cdp_peer_register(soc, diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c index 284e95326e72..188aae02b5e4 100644 --- a/core/hdd/src/wlan_hdd_tx_rx.c +++ b/core/hdd/src/wlan_hdd_tx_rx.c @@ -939,6 +939,7 @@ static void __hdd_hard_start_xmit(struct sk_buff *skb, bool is_arp = false; struct wlan_objmgr_vdev *vdev; struct hdd_context *hdd_ctx; + void *soc = cds_get_context(QDF_MODULE_ID_SOC); #ifdef QCA_WIFI_FTM if (hdd_get_conparam() == QDF_GLOBAL_FTM_MODE) { @@ -1139,8 +1140,7 @@ static void __hdd_hard_start_xmit(struct sk_buff *skb, goto drop_pkt_and_release_skb; } - if (adapter->tx_fn(adapter->txrx_vdev, - (qdf_nbuf_t)skb) != NULL) { + if (adapter->tx_fn(soc, adapter->vdev_id, (qdf_nbuf_t)skb)) { QDF_TRACE(QDF_MODULE_ID_HDD_DATA, QDF_TRACE_LEVEL_INFO_HIGH, "%s: Failed to send packet to txrx for sta_id: " QDF_MAC_ADDR_STR, @@ -1349,7 +1349,6 @@ QDF_STATUS hdd_deinit_tx_rx(struct hdd_adapter *adapter) if (!adapter) return QDF_STATUS_E_FAILURE; - adapter->txrx_vdev = NULL; adapter->tx_fn = NULL; return QDF_STATUS_SUCCESS;