qcacmn: Add debug logs in MLD peer create/delete
Add debug logs in the MLD peer create/delete path to help debug any issues with MLD peer leak. Change-Id: I63126d9b86f3179a88809836371fc765d340b6d8 CRs-Fixed: 3379148
This commit is contained in:

committed by
Madan Koyyalamudi

parent
8762881511
commit
d7593bcef6
@@ -1934,6 +1934,7 @@ dp_mlo_peer_find_hash_find_be(struct dp_soc *soc,
|
||||
} else {
|
||||
vdev = NULL;
|
||||
}
|
||||
|
||||
/* search mld peer table if no link peer for given mac address */
|
||||
index = dp_mlo_peer_find_hash_index(mld_hash_obj, mac_addr);
|
||||
qdf_spin_lock_bh(&mld_hash_obj->mld_peer_hash_lock);
|
||||
@@ -1995,8 +1996,11 @@ dp_mlo_peer_find_hash_remove_be(struct dp_soc *soc, struct dp_peer *peer)
|
||||
TAILQ_REMOVE(&mld_hash_obj->mld_peer_hash.bins[index], peer,
|
||||
hash_list_elem);
|
||||
|
||||
dp_info("Peer %pK (" QDF_MAC_ADDR_FMT ") removed. (found %u)",
|
||||
peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), found);
|
||||
dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG);
|
||||
qdf_spin_unlock_bh(&mld_hash_obj->mld_peer_hash_lock);
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -2010,6 +2014,14 @@ dp_mlo_peer_find_hash_add_be(struct dp_soc *soc, struct dp_peer *peer)
|
||||
if (!mld_hash_obj)
|
||||
return;
|
||||
|
||||
if (dp_mlo_peer_find_hash_find_be(soc, (uint8_t *)&peer->mac_addr, 1,
|
||||
DP_MOD_ID_CONFIG, DP_VDEV_ALL)) {
|
||||
dp_info("MLD peer %pK (" QDF_MAC_ADDR_FMT ") already in hash table",
|
||||
peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw));
|
||||
dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG);
|
||||
qdf_assert_always(0);
|
||||
}
|
||||
|
||||
index = dp_mlo_peer_find_hash_index(mld_hash_obj, &peer->mac_addr);
|
||||
|
||||
qdf_spin_lock_bh(&mld_hash_obj->mld_peer_hash_lock);
|
||||
@@ -2024,6 +2036,9 @@ dp_mlo_peer_find_hash_add_be(struct dp_soc *soc, struct dp_peer *peer)
|
||||
TAILQ_INSERT_TAIL(&mld_hash_obj->mld_peer_hash.bins[index], peer,
|
||||
hash_list_elem);
|
||||
qdf_spin_unlock_bh(&mld_hash_obj->mld_peer_hash_lock);
|
||||
|
||||
dp_info("Peer %pK (" QDF_MAC_ADDR_FMT ") added",
|
||||
peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw));
|
||||
}
|
||||
|
||||
void dp_print_mlo_ast_stats_be(struct dp_soc *soc)
|
||||
|
@@ -8266,7 +8266,7 @@ QDF_STATUS dp_peer_mlo_setup(
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
dp_info("link peer: " QDF_MAC_ADDR_FMT "mld peer: " QDF_MAC_ADDR_FMT
|
||||
"assoc_link %d, primary_link %d",
|
||||
"first_link %d, primary_link %d",
|
||||
QDF_MAC_ADDR_REF(peer->mac_addr.raw),
|
||||
QDF_MAC_ADDR_REF(setup_info->mld_peer_mac),
|
||||
setup_info->is_first_link,
|
||||
@@ -8542,9 +8542,11 @@ dp_peer_setup_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
|
||||
&reo_dest, &hash_based,
|
||||
&lmac_peer_id_msb);
|
||||
|
||||
dp_info("pdev: %d vdev :%d opmode:%u hash-based-steering:%d default-reo_dest:%u",
|
||||
dp_info("pdev: %d vdev :%d opmode:%u peer %pK (" QDF_MAC_ADDR_FMT ") "
|
||||
"hash-based-steering:%d default-reo_dest:%u",
|
||||
pdev->pdev_id, vdev->vdev_id,
|
||||
vdev->opmode, hash_based, reo_dest);
|
||||
vdev->opmode, peer,
|
||||
QDF_MAC_ADDR_REF(peer->mac_addr.raw), hash_based, reo_dest);
|
||||
|
||||
/*
|
||||
* There are corner cases where the AD1 = AD2 = "VAPs address"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. 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
|
||||
@@ -1311,6 +1311,7 @@ void dp_mld_peer_add_link_peer(struct dp_peer *mld_peer,
|
||||
{
|
||||
int i;
|
||||
struct dp_peer_link_info *link_peer_info;
|
||||
bool action_done = false;
|
||||
|
||||
qdf_spin_lock_bh(&mld_peer->link_peers_info_lock);
|
||||
for (i = 0; i < DP_MAX_MLO_LINKS; i++) {
|
||||
@@ -1324,6 +1325,7 @@ void dp_mld_peer_add_link_peer(struct dp_peer *mld_peer,
|
||||
link_peer_info->chip_id =
|
||||
dp_mlo_get_chip_id(link_peer->vdev->pdev->soc);
|
||||
mld_peer->num_links++;
|
||||
action_done = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1332,6 +1334,14 @@ void dp_mld_peer_add_link_peer(struct dp_peer *mld_peer,
|
||||
if (i == DP_MAX_MLO_LINKS)
|
||||
dp_err("fail to add link peer" QDF_MAC_ADDR_FMT "to mld peer",
|
||||
QDF_MAC_ADDR_REF(link_peer->mac_addr.raw));
|
||||
else
|
||||
dp_peer_info("%s addition of link peer %pK (" QDF_MAC_ADDR_FMT ") "
|
||||
"to MLD peer %pK (" QDF_MAC_ADDR_FMT "), "
|
||||
"idx %u num_links %u",
|
||||
action_done ? "Successful" : "Failed",
|
||||
mld_peer, QDF_MAC_ADDR_REF(mld_peer->mac_addr.raw),
|
||||
link_peer, QDF_MAC_ADDR_REF(link_peer->mac_addr.raw),
|
||||
i, mld_peer->num_links);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1348,6 +1358,7 @@ uint8_t dp_mld_peer_del_link_peer(struct dp_peer *mld_peer,
|
||||
int i;
|
||||
struct dp_peer_link_info *link_peer_info;
|
||||
uint8_t num_links;
|
||||
bool action_done = false;
|
||||
|
||||
qdf_spin_lock_bh(&mld_peer->link_peers_info_lock);
|
||||
for (i = 0; i < DP_MAX_MLO_LINKS; i++) {
|
||||
@@ -1357,6 +1368,7 @@ uint8_t dp_mld_peer_del_link_peer(struct dp_peer *mld_peer,
|
||||
&link_peer_info->mac_addr)) {
|
||||
link_peer_info->is_valid = false;
|
||||
mld_peer->num_links--;
|
||||
action_done = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1366,6 +1378,15 @@ uint8_t dp_mld_peer_del_link_peer(struct dp_peer *mld_peer,
|
||||
if (i == DP_MAX_MLO_LINKS)
|
||||
dp_err("fail to del link peer" QDF_MAC_ADDR_FMT "to mld peer",
|
||||
QDF_MAC_ADDR_REF(link_peer->mac_addr.raw));
|
||||
else
|
||||
dp_peer_info("%s deletion of link peer %pK (" QDF_MAC_ADDR_FMT ") "
|
||||
"from MLD peer %pK (" QDF_MAC_ADDR_FMT "), "
|
||||
"idx %u num_links %u",
|
||||
action_done ? "Successful" : "Failed",
|
||||
mld_peer, QDF_MAC_ADDR_REF(mld_peer->mac_addr.raw),
|
||||
link_peer, QDF_MAC_ADDR_REF(link_peer->mac_addr.raw),
|
||||
i, mld_peer->num_links);
|
||||
|
||||
|
||||
return num_links;
|
||||
}
|
||||
@@ -1589,6 +1610,9 @@ void dp_peer_mlo_delete(struct dp_peer *peer)
|
||||
struct dp_peer *ml_peer;
|
||||
struct dp_soc *soc;
|
||||
|
||||
dp_info("peer " QDF_MAC_ADDR_FMT " type %d",
|
||||
QDF_MAC_ADDR_REF(peer->mac_addr.raw), peer->peer_type);
|
||||
|
||||
/* MLO connection link peer */
|
||||
if (IS_MLO_DP_LINK_PEER(peer)) {
|
||||
ml_peer = peer->mld_peer;
|
||||
|
Reference in New Issue
Block a user