wlan-ap-Telecominfraproject/feeds/ipq95xx/mac80211/patches/qca/670-ath12k-enhance-peer-create-delete-log.patch
John Crispin 144c5d00f4 ipq95xx/mac80211: update to ATH12.3-CS
Signed-off-by: John Crispin <john@phrozen.org>
2024-02-28 18:56:21 +01:00

158 lines
5.8 KiB
Diff

From bc96542f4926a609c70175094a3919fd95bb302e Mon Sep 17 00:00:00 2001
From: Hari Chandrakanthan <quic_haric@quicinc.com>
Date: Thu, 22 Sep 2022 10:49:20 +0530
Subject: [PATCH] ath12k : enhance peer create/delete log
print the peer count during peer create/delete
and during vdev delete.
This can help when we face issues related to peer count
and peer delete/vdev delete sequence.
Signed-off-by: Hari Chandrakanthan <quic_haric@quicinc.com>
---
drivers/net/wireless/ath/ath12k/mac.c | 25 ++++++++++++++-----------
drivers/net/wireless/ath/ath12k/peer.c | 5 +++--
drivers/net/wireless/ath/ath12k/wmi.c | 18 +++++++++++-------
3 files changed, 28 insertions(+), 20 deletions(-)
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -888,6 +888,8 @@ void ath12k_mac_peer_cleanup_all(struct
ar->num_peers = 0;
ar->num_stations = 0;
+
+ ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "ath12k mac peer cleanup done\n");
}
static int ath12k_mac_vdev_setup_sync(struct ath12k *ar)
@@ -4022,7 +4024,8 @@ static int ath12k_mac_vdev_delete(struct
time_left = wait_for_completion_timeout(&ar->vdev_delete_done,
ATH12K_VDEV_DELETE_TIMEOUT_HZ);
if (time_left == 0) {
- ath12k_warn(ar->ab, "Timeout in receiving vdev delete response\n");
+ ath12k_warn(ar->ab, "Timeout in receiving vdev delete response vdev_id : %d\n",
+ arvif->vdev_id);
ret = -ETIMEDOUT;
goto clean_up;
}
@@ -5356,8 +5359,8 @@ static int ath12k_mac_station_add(struct
goto free_rx_stats;
}
- ath12k_dbg(ab, ATH12K_DBG_MAC, "Added peer: %pM for VDEV: %d\n",
- sta->addr, arvif->vdev_id);
+ ath12k_dbg(ab, ATH12K_DBG_MAC, "Added peer: %pM for VDEV: %d num_stations : %d\n",
+ sta->addr, arvif->vdev_id, ar->num_stations);
if (ath12k_debugfs_is_extd_tx_stats_enabled(ar) && (!arsta->tx_stats)) {
arsta->tx_stats = kzalloc(sizeof(*arsta->tx_stats),
@@ -5469,18 +5472,18 @@ static int ath12k_mac_op_sta_state(struc
ret = ath12k_peer_delete(ar, arvif->vdev_id, sta->addr);
if (ret)
- ath12k_warn(ar->ab, "Failed to delete peer: %pM for VDEV: %d\n",
- sta->addr, arvif->vdev_id);
+ ath12k_warn(ar->ab, "Failed to delete peer: %pM for VDEV: %d num_peers : %d\n",
+ sta->addr, arvif->vdev_id, ar->num_peers);
else
- ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "Removed peer: %pM for VDEV: %d\n",
- sta->addr, arvif->vdev_id);
+ ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "Removed peer: %pM for VDEV: %d num_peers : %d\n",
+ sta->addr, arvif->vdev_id, ar->num_peers);
ath12k_mac_dec_num_stations(arvif, sta);
spin_lock_bh(&ar->ab->base_lock);
peer = ath12k_peer_find(ar->ab, arvif->vdev_id, sta->addr);
if (peer && peer->sta == sta) {
- ath12k_warn(ar->ab, "Found peer entry %pM n vdev %i after it was supposedly removed\n",
- vif->addr, arvif->vdev_id);
+ ath12k_warn(ar->ab, "Found peer entry %pM n vdev %d after it was supposedly removed"
+ " num_peers : %d\n", vif->addr, arvif->vdev_id, ar->num_peers);
peer->sta = NULL;
list_del(&peer->list);
kfree(peer);
@@ -8019,8 +8022,8 @@ static void ath12k_mac_op_remove_interfa
if (arvif->vdev_type == WMI_VDEV_TYPE_AP) {
ret = ath12k_peer_delete(ar, arvif->vdev_id, vif->addr);
if (ret)
- ath12k_warn(ab, "failed to submit AP self-peer removal on vdev %d: %d\n",
- arvif->vdev_id, ret);
+ ath12k_warn(ab, "failed to submit AP self-peer removal on vdev %d: %d"
+ " num_peer : %d\n", arvif->vdev_id, ret, ar->num_peers);
}
ret = ath12k_mac_vdev_delete(ar, vif);
--- a/drivers/net/wireless/ath/ath12k/peer.c
+++ b/drivers/net/wireless/ath/ath12k/peer.c
@@ -218,14 +218,15 @@ int ath12k_wait_for_peer_delete_done(str
ret = ath12k_wait_for_peer_deleted(ar, vdev_id, addr);
if (ret) {
- ath12k_warn(ar->ab, "failed wait for peer deleted");
+ ath12k_warn(ar->ab, "failed wait for peer deleted peer_addr : %pM\n", addr);
return ret;
}
time_left = wait_for_completion_timeout(&ar->peer_delete_done,
3 * HZ);
if (time_left == 0) {
- ath12k_warn(ar->ab, "Timeout in receiving peer delete response\n");
+ ath12k_warn(ar->ab, "Timeout in receiving peer delete response peer_addr : %pM\n",
+ addr);
return -ETIMEDOUT;
}
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -868,7 +868,8 @@ int ath12k_wmi_vdev_delete(struct ath12k
dev_kfree_skb(skb);
}
- ath12k_dbg(ar->ab, ATH12K_DBG_WMI, "WMI vdev delete id %d\n", vdev_id);
+ ath12k_dbg(ar->ab, ATH12K_DBG_WMI, "WMI vdev delete id %d num_peers : %d\n",
+ vdev_id, ar->num_peers);
return ret;
}
@@ -920,7 +921,8 @@ int ath12k_wmi_vdev_down(struct ath12k *
ret = ath12k_wmi_cmd_send(wmi, skb, WMI_VDEV_DOWN_CMDID);
if (ret) {
- ath12k_warn(ar->ab, "failed to submit WMI_VDEV_DOWN cmd\n");
+ ath12k_warn(ar->ab, "failed to submit WMI_VDEV_DOWN cmd vdev id : %d\n",
+ vdev_id);
dev_kfree_skb(skb);
}
@@ -1131,8 +1133,8 @@ int ath12k_wmi_send_peer_create_cmd(stru
}
ath12k_dbg(ar->ab, ATH12K_DBG_WMI,
- "WMI peer create vdev_id %d peer_addr %pM\n",
- param->vdev_id, param->peer_addr);
+ "WMI peer create vdev_id %d peer_addr %pM num_peer : %d\n",
+ param->vdev_id, param->peer_addr, ar->num_peers);
return ret;
}
@@ -1157,12 +1159,14 @@ int ath12k_wmi_send_peer_delete_cmd(stru
cmd->vdev_id = cpu_to_le32(vdev_id);
ath12k_dbg(ar->ab, ATH12K_DBG_WMI,
- "WMI peer delete vdev_id %d peer_addr %pM\n",
- vdev_id, peer_addr);
+ "WMI peer delete vdev_id %d peer_addr %pM num_peer : %d\n",
+ vdev_id, peer_addr, ar->num_peers);
ret = ath12k_wmi_cmd_send(wmi, skb, WMI_PEER_DELETE_CMDID);
if (ret) {
- ath12k_warn(ar->ab, "failed to send WMI_PEER_DELETE cmd\n");
+ ath12k_warn(ar->ab, "failed to send WMI_PEER_DELETE cmd"
+ " peer_addr %pM num_peer : %d\n",
+ peer_addr, ar->num_peers);
dev_kfree_skb(skb);
}