qcacmn: Get the peer from the AST entry for SAWF

Get the ast entry and peer from MAC address

Change-Id: I16e423de5a8535c13cc07db602be6ad596784029
CRs-Fixed: 3243870
This commit is contained in:
syed touqeer pasha
2022-07-06 12:45:47 +05:30
committed by Madan Koyyalamudi
父節點 c49d6a32c8
當前提交 c2a5c7ec7e

查看文件

@@ -1702,15 +1702,40 @@ static struct dp_peer *dp_find_peer_by_destmac_be(struct dp_soc *soc,
uint8_t vdev_id)
{
struct dp_peer *peer = NULL;
struct dp_peer *tgt_peer = NULL;
struct dp_ast_entry *ast_entry = NULL;
uint16_t peer_id;
peer = dp_peer_find_hash_find(soc, dest_mac, 0,
vdev_id, DP_MOD_ID_SAWF);
if (!peer) {
dp_err("Invalid peer");
qdf_spin_lock_bh(&soc->ast_lock);
ast_entry = dp_peer_ast_hash_find_soc(soc, dest_mac);
if (!ast_entry) {
qdf_spin_unlock_bh(&soc->ast_lock);
dp_err("NULL ast entry");
return NULL;
}
return peer;
peer_id = ast_entry->peer_id;
qdf_spin_unlock_bh(&soc->ast_lock);
if (peer_id == HTT_INVALID_PEER)
return NULL;
peer = dp_peer_get_ref_by_id(soc, peer_id, DP_MOD_ID_SAWF);
if (!peer) {
dp_err("NULL peer for peer_id:%d", peer_id);
return NULL;
}
tgt_peer = dp_get_tgt_peer_from_peer(peer);
/*
* Once tgt_peer is obtained,
* release the ref taken for original peer.
*/
dp_peer_get_ref(NULL, tgt_peer, DP_MOD_ID_SAWF);
dp_peer_unref_delete(peer, DP_MOD_ID_SAWF);
return tgt_peer;
}
#ifdef WLAN_FEATURE_11BE_MLO