Subject: [PATCH 0/2] Peer Stats fixes for rx duration

From: Mohammed Shafi Shajakhan <[email protected]>

This is a small patchset that fixes:

1. Updating rx duration per station (part of mac80211 STA debugfs)
irrespective user does a cat fw_stats in ath10k debugfs

2. Remove updating peer stats list (which is completely useless)
when we recieve periodic update of peer stats for updating rx_duration

Mohammed Shafi Shajakhan (2):
ath10k: Fix updating peer stats rx duration
ath10k: Fix pointless update of peer stats list

drivers/net/wireless/ath/ath10k/debug.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

--
1.7.9.5



Subject: [PATCH 1/2] ath10k: Fix updating peer stats rx duration

From: Mohammed Shafi Shajakhan <[email protected]>

We are not updating peer stats rx_duration periodically
unless the user one polls for fw_stats, this is because
we discard the update event since pdev list is empty. Fix
this by updating rx duration periodically irrepective of checks
for pdev list (irrespective of ping-pong response)

Fixes: 856e7c3 ("ath10k: add debugfs support for Per STA total rx duration")
Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
---
drivers/net/wireless/ath/ath10k/debug.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/debug.c b/drivers/net/wireless/ath/ath10k/debug.c
index 8d4148a..d80a44e 100644
--- a/drivers/net/wireless/ath/ath10k/debug.c
+++ b/drivers/net/wireless/ath/ath10k/debug.c
@@ -348,6 +348,9 @@ void ath10k_debug_fw_stats_process(struct ath10k *ar, struct sk_buff *skb)
*/

peer_stats_svc = test_bit(WMI_SERVICE_PEER_STATS, ar->wmi.svc_map);
+ if (peer_stats_svc)
+ ath10k_sta_update_rx_duration(ar, &stats.peers);
+
if (ar->debug.fw_stats_done && !peer_stats_svc) {
ath10k_warn(ar, "received unsolicited stats update event\n");
goto free;
@@ -384,9 +387,6 @@ void ath10k_debug_fw_stats_process(struct ath10k *ar, struct sk_buff *skb)
goto free;
}

- if (peer_stats_svc)
- ath10k_sta_update_rx_duration(ar, &stats.peers);
-
list_splice_tail_init(&stats.peers, &ar->debug.fw_stats.peers);
list_splice_tail_init(&stats.vdevs, &ar->debug.fw_stats.vdevs);
}
--
1.7.9.5


Subject: [PATCH 2/2] ath10k: Fix pointless update of peer stats list

From: Mohammed Shafi Shajakhan <[email protected]>

We periodically receive f/w stats event for updating
the rx duration and there is no reason to keep on appending
the f/w stats peer list, as this gets completely cleaned up when
the user polls for f/w stats {pdev, vdev, peer stats}. Only don't
print the warning message in the case PEER_STATS service is enabled

Fixes: 856e7c3 ("ath10k: add debugfs support for Per STA total rx duration")
Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
---
drivers/net/wireless/ath/ath10k/debug.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/debug.c b/drivers/net/wireless/ath/ath10k/debug.c
index d80a44e..06581fa 100644
--- a/drivers/net/wireless/ath/ath10k/debug.c
+++ b/drivers/net/wireless/ath/ath10k/debug.c
@@ -351,8 +351,10 @@ void ath10k_debug_fw_stats_process(struct ath10k *ar, struct sk_buff *skb)
if (peer_stats_svc)
ath10k_sta_update_rx_duration(ar, &stats.peers);

- if (ar->debug.fw_stats_done && !peer_stats_svc) {
- ath10k_warn(ar, "received unsolicited stats update event\n");
+ if (ar->debug.fw_stats_done) {
+ if (!peer_stats_svc)
+ ath10k_warn(ar, "received unsolicited stats update event\n");
+
goto free;
}

--
1.7.9.5


2016-03-04 08:40:20

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 0/2] Peer Stats fixes for rx duration

Mohammed Shafi Shajakhan <[email protected]> writes:

> From: Mohammed Shafi Shajakhan <[email protected]>
>
> This is a small patchset that fixes:
>
> 1. Updating rx duration per station (part of mac80211 STA debugfs)
> irrespective user does a cat fw_stats in ath10k debugfs
>
> 2. Remove updating peer stats list (which is completely useless)
> when we recieve periodic update of peer stats for updating rx_duration
>
> Mohammed Shafi Shajakhan (2):
> ath10k: Fix updating peer stats rx duration
> ath10k: Fix pointless update of peer stats list

Both applied, thanks.

--
Kalle Valo