From 33861b1adcee2a30328e72d4596b4073cb491911 Mon Sep 17 00:00:00 2001 From: Yeshwanth Sriram Guntuka Date: Fri, 22 Nov 2019 14:29:27 +0530 Subject: [PATCH] qcacld-3.0: Cleanup local peer id from ol_txrx APIs Local peer_id is being cleaned up across DP, HDD and PS/WMA. So, any references to local peer_id/sta_id will be replaced by peer mac address and all interactions between the layers will be based on peer mac address. Cleanup local peer id from ol_txrx APIs. Change-Id: Ibc893fdf1f091f9fc423fca71eb96ee405373d99 CRs-Fixed: 2529036 --- core/dp/txrx/ol_tx_hl.c | 12 ++++-------- core/dp/txrx/ol_txrx.c | 40 ++++++++++++---------------------------- core/dp/txrx/ol_txrx.h | 10 ++++------ 3 files changed, 20 insertions(+), 42 deletions(-) diff --git a/core/dp/txrx/ol_tx_hl.c b/core/dp/txrx/ol_tx_hl.c index 0efc3f2fdde4..ef4b575580ca 100644 --- a/core/dp/txrx/ol_tx_hl.c +++ b/core/dp/txrx/ol_tx_hl.c @@ -1741,13 +1741,12 @@ void ol_txrx_copy_mac_addr_raw(struct cdp_vdev *pvdev, uint8_t *bss_addr) * ol_txrx_add_last_real_peer() - add last peer * @pdev: the data physical device * @vdev: virtual device - * @peer_id: peer id * * Return: None */ void ol_txrx_add_last_real_peer(struct cdp_pdev *ppdev, - struct cdp_vdev *pvdev, uint8_t *peer_id) + struct cdp_vdev *pvdev) { struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; @@ -1755,8 +1754,7 @@ ol_txrx_add_last_real_peer(struct cdp_pdev *ppdev, peer = ol_txrx_find_peer_by_addr( (struct cdp_pdev *)pdev, - vdev->hl_tdls_ap_mac_addr.raw, - peer_id); + vdev->hl_tdls_ap_mac_addr.raw); qdf_spin_lock_bh(&pdev->last_real_peer_mutex); if (!vdev->last_real_peer && peer && @@ -1787,13 +1785,12 @@ bool is_vdev_restore_last_peer(void *ppeer) * ol_txrx_update_last_real_peer() - check for vdev last peer * @pdev: the data physical device * @peer: peer device - * @peer_id: peer id * @restore_last_peer: restore last peer flag * * Return: None */ void ol_txrx_update_last_real_peer(struct cdp_pdev *ppdev, void *pvdev, - uint8_t *peer_id, bool restore_last_peer) + bool restore_last_peer) { struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; @@ -1803,8 +1800,7 @@ void ol_txrx_update_last_real_peer(struct cdp_pdev *ppdev, void *pvdev, return; peer = ol_txrx_find_peer_by_addr((struct cdp_pdev *)pdev, - vdev->hl_tdls_ap_mac_addr.raw, - peer_id); + vdev->hl_tdls_ap_mac_addr.raw); qdf_spin_lock_bh(&pdev->last_real_peer_mutex); if (!vdev->last_real_peer && peer && diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index 4d175b942b3c..fdd031a59ed7 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -194,7 +194,7 @@ uint8_t ol_tx_get_is_mgmt_over_wmi_enabled(void) #ifdef QCA_SUPPORT_TXRX_LOCAL_PEER_ID static void * ol_txrx_find_peer_by_addr_and_vdev(struct cdp_pdev *ppdev, - struct cdp_vdev *pvdev, uint8_t *peer_addr, uint8_t *peer_id) + struct cdp_vdev *pvdev, uint8_t *peer_addr) { struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; @@ -203,7 +203,6 @@ ol_txrx_find_peer_by_addr_and_vdev(struct cdp_pdev *ppdev, peer = ol_txrx_peer_vdev_find_hash(pdev, vdev, peer_addr, 0, 1); if (!peer) return NULL; - *peer_id = peer->local_id; ol_txrx_peer_release_ref(peer, PEER_DEBUG_ID_OL_INTERNAL); return peer; } @@ -229,8 +228,6 @@ ol_txrx_get_vdev_by_peer_addr(struct cdp_pdev *ppdev, struct ol_txrx_pdev_t *pdev = cdp_pdev_to_ol_txrx_pdev_t(ppdev); struct ol_txrx_peer_t *peer = NULL; ol_txrx_vdev_handle vdev; - /* peer_id to be removed PEER_ID_CLEANUP */ - uint8_t peer_id; if (!pdev) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO_HIGH, @@ -239,7 +236,7 @@ ol_txrx_get_vdev_by_peer_addr(struct cdp_pdev *ppdev, return NULL; } - peer = ol_txrx_peer_get_ref_by_addr(pdev, peer_addr.bytes, &peer_id, + peer = ol_txrx_peer_get_ref_by_addr(pdev, peer_addr.bytes, PEER_DEBUG_ID_OL_INTERNAL); if (!peer) { @@ -277,7 +274,6 @@ ol_txrx_wrapper_get_vdev_by_peer_addr(struct cdp_pdev *ppdev, * ol_txrx_find_peer_by_addr() - find peer via peer mac addr and peer_id * @ppdev: pointer of type cdp_pdev * @peer_addr: peer mac addr - * @peer_id: pointer to fill in the value of peer->local_id for caller * * This function finds a peer with given mac address and returns its peer_id. * Note that this function does not increment the peer->ref_cnt. @@ -287,8 +283,7 @@ ol_txrx_wrapper_get_vdev_by_peer_addr(struct cdp_pdev *ppdev, * Return: peer handle if peer is found, NULL if peer is not found. */ void *ol_txrx_find_peer_by_addr(struct cdp_pdev *ppdev, - uint8_t *peer_addr, - uint8_t *peer_id) + uint8_t *peer_addr) { struct ol_txrx_peer_t *peer; struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; @@ -297,7 +292,6 @@ void *ol_txrx_find_peer_by_addr(struct cdp_pdev *ppdev, PEER_DEBUG_ID_OL_INTERNAL); if (!peer) return NULL; - *peer_id = peer->local_id; ol_txrx_peer_release_ref(peer, PEER_DEBUG_ID_OL_INTERNAL); return peer; } @@ -306,7 +300,6 @@ void *ol_txrx_find_peer_by_addr(struct cdp_pdev *ppdev, * ol_txrx_peer_get_ref_by_addr() - get peer ref via peer mac addr and peer_id * @pdev: pointer of type ol_txrx_pdev_handle * @peer_addr: peer mac addr - * @peer_id: pointer to fill in the value of peer->local_id for caller * * This function finds the peer with given mac address and returns its peer_id. * Note that this function increments the peer->ref_cnt. @@ -328,7 +321,6 @@ void *ol_txrx_find_peer_by_addr(struct cdp_pdev *ppdev, */ ol_txrx_peer_handle ol_txrx_peer_get_ref_by_addr(ol_txrx_pdev_handle pdev, u8 *peer_addr, - u8 *peer_id, enum peer_debug_id_type dbg_id) { struct ol_txrx_peer_t *peer; @@ -337,7 +329,7 @@ ol_txrx_peer_handle ol_txrx_peer_get_ref_by_addr(ol_txrx_pdev_handle pdev, dbg_id); if (!peer) return NULL; - *peer_id = peer->local_id; + return peer; } @@ -3234,15 +3226,13 @@ ol_txrx_clear_peer(struct cdp_pdev *ppdev, struct ol_txrx_peer_t *peer; struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; QDF_STATUS status; - /* peer_id to be removed */ - uint8_t peer_id; if (!pdev) { ol_txrx_err("Unable to find pdev!"); return QDF_STATUS_E_FAILURE; } - peer = ol_txrx_peer_get_ref_by_addr(pdev, peer_addr.bytes, &peer_id, + peer = ol_txrx_peer_get_ref_by_addr(pdev, peer_addr.bytes, PEER_DEBUG_ID_OL_INTERNAL); /* Return success, if the peer is already cleared by @@ -4910,7 +4900,6 @@ static QDF_STATUS ol_txrx_register_peer(struct ol_txrx_desc_type *sta_desc) struct ol_txrx_pdev_t *pdev = cds_get_context(QDF_MODULE_ID_TXRX); union ol_txrx_peer_update_param_t param; struct privacy_exemption privacy_filter; - uint8_t peer_id; if (!pdev) { ol_txrx_err("Pdev is NULL"); @@ -4918,8 +4907,7 @@ static QDF_STATUS ol_txrx_register_peer(struct ol_txrx_desc_type *sta_desc) } peer = ol_txrx_find_peer_by_addr((struct cdp_pdev *)pdev, - sta_desc->peer_addr.bytes, - &peer_id); + sta_desc->peer_addr.bytes); if (!peer) return QDF_STATUS_E_FAULT; @@ -4947,12 +4935,10 @@ static QDF_STATUS ol_txrx_register_peer(struct ol_txrx_desc_type *sta_desc) /** * ol_txrx_register_ocb_peer - Function to register the OCB peer * @mac_addr: MAC address of the self peer - * @peer_id: Pointer to the peer ID * * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on failure */ -static QDF_STATUS ol_txrx_register_ocb_peer(uint8_t *mac_addr, - uint8_t *peer_id) +static QDF_STATUS ol_txrx_register_ocb_peer(uint8_t *mac_addr) { ol_txrx_pdev_handle pdev; ol_txrx_peer_handle peer; @@ -4964,7 +4950,7 @@ static QDF_STATUS ol_txrx_register_ocb_peer(uint8_t *mac_addr, } peer = ol_txrx_find_peer_by_addr((struct cdp_pdev *)pdev, - mac_addr, peer_id); + mac_addr); if (!peer) { ol_txrx_err("Unable to find OCB peer!"); return QDF_STATUS_E_FAILURE; @@ -5563,33 +5549,31 @@ static QDF_STATUS ol_txrx_wrapper_peer_state_update(struct cdp_pdev *pdev, * ol_txrx_wrapper_find_peer_by_addr() - find peer instance by address * @pdev: pdev handle * @peer_addr: peer address want to find - * @peer_id: peer id * * Return: peer instance pointer */ static void *ol_txrx_wrapper_find_peer_by_addr(struct cdp_pdev *pdev, - uint8_t *peer_addr, uint8_t *peer_id) + uint8_t *peer_addr) { return ol_txrx_find_peer_by_addr(pdev, - peer_addr, peer_id); + peer_addr); } /** * ol_txrx_wrapper_peer_get_ref_by_addr() - get peer reference by address * @pdev: pdev handle * @peer_addr: peer address we want to find - * @peer_id: peer id * @debug_id: peer debug id for tracking * * Return: peer instance pointer */ static void * ol_txrx_wrapper_peer_get_ref_by_addr(struct cdp_pdev *pdev, - u8 *peer_addr, uint8_t *peer_id, + u8 *peer_addr, enum peer_debug_id_type debug_id) { return ol_txrx_peer_get_ref_by_addr((ol_txrx_pdev_handle)pdev, - peer_addr, peer_id, debug_id); + peer_addr, debug_id); } /** diff --git a/core/dp/txrx/ol_txrx.h b/core/dp/txrx/ol_txrx.h index 4b360a8a6548..da59187d27dd 100644 --- a/core/dp/txrx/ol_txrx.h +++ b/core/dp/txrx/ol_txrx.h @@ -67,9 +67,8 @@ enum ol_txrx_fc_limit_id { ol_txrx_peer_handle ol_txrx_peer_get_ref_by_addr(ol_txrx_pdev_handle pdev, u8 *peer_addr, - u8 *peer_id, enum peer_debug_id_type - dbg_id); + dbg_id); int ol_txrx_peer_release_ref(ol_txrx_peer_handle peer, enum peer_debug_id_type dbg_id); @@ -218,8 +217,7 @@ ol_txrx_get_vdev_by_peer_addr(struct cdp_pdev *ppdev, struct qdf_mac_addr peer_addr); void *ol_txrx_find_peer_by_addr(struct cdp_pdev *pdev, - uint8_t *peer_addr, - uint8_t *peer_id); + uint8_t *peer_addr); void htt_pkt_log_init(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, void *scn); void peer_unmap_timer_handler(void *data); @@ -317,10 +315,10 @@ ol_txrx_pdev_grp_stat_destroy(struct ol_txrx_pdev_t *pdev) {} #if defined(CONFIG_HL_SUPPORT) && defined(FEATURE_WLAN_TDLS) void ol_txrx_copy_mac_addr_raw(struct cdp_vdev *pvdev, uint8_t *bss_addr); void ol_txrx_add_last_real_peer(struct cdp_pdev *ppdev, - struct cdp_vdev *pvdev, uint8_t *peer_id); + struct cdp_vdev *pvdev); bool is_vdev_restore_last_peer(void *ppeer); void ol_txrx_update_last_real_peer(struct cdp_pdev *ppdev, void *pvdev, - uint8_t *peer_id, bool restore_last_peer); + bool restore_last_peer); void ol_txrx_set_peer_as_tdls_peer(void *ppeer, bool val); void ol_txrx_set_tdls_offchan_enabled(void *ppeer, bool val); #endif