All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ath11k: fix resource unavailability for htt stats after peer stats display
@ 2020-05-04 11:45 ` Sowmiya Sree Elavalagan
  0 siblings, 0 replies; 4+ messages in thread
From: Sowmiya Sree Elavalagan @ 2020-05-04 11:45 UTC (permalink / raw)
  To: ath11k; +Cc: linux-wireless, Sowmiya Sree Elavalagan

htt stats are not working after htt peer stats display
and also after htt peer stats reset. Trying to dump htt 
stats shows "Resource temporarily unavailable".
This is because of "ar->debug.htt_stats.stats_req" member is being
consecutively used for all htt stats without being reset 
during the previous usage. Hence assigning NULL to this member 
after freeing the allocated memory fixes the issue.

console logs below:
# echo 9 >/sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats_type
# cat /sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats_type
9
# cat /sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats
cat: can't open '/sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats'
: Resource temporarily unavailable

Signed-off-by: Sowmiya Sree Elavalagan <ssreeela@codeaurora.org>
---
 drivers/net/wireless/ath/ath11k/debugfs_sta.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/wireless/ath/ath11k/debugfs_sta.c b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
index 389dac2..696ff14 100644
--- a/drivers/net/wireless/ath/ath11k/debugfs_sta.c
+++ b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
@@ -435,13 +435,22 @@ ath11k_dbg_sta_open_htt_peer_stats(struct inode *inode, struct file *file)
 	return 0;
 out:
 	vfree(stats_req);
+	ar->debug.htt_stats.stats_req = NULL;
 	return ret;
 }
 
 static int
 ath11k_dbg_sta_release_htt_peer_stats(struct inode *inode, struct file *file)
 {
+	struct ieee80211_sta *sta = inode->i_private;
+	struct ath11k_sta *arsta = (struct ath11k_sta *)sta->drv_priv;
+	struct ath11k *ar = arsta->arvif->ar;
+
+	mutex_lock(&ar->conf_mutex);
 	vfree(file->private_data);
+	ar->debug.htt_stats.stats_req = NULL;
+	mutex_unlock(&ar->conf_mutex);
+
 	return 0;
 }
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH] ath11k: fix resource unavailability for htt stats after peer stats display
@ 2020-05-04 11:45 ` Sowmiya Sree Elavalagan
  0 siblings, 0 replies; 4+ messages in thread
From: Sowmiya Sree Elavalagan @ 2020-05-04 11:45 UTC (permalink / raw)
  To: ath11k; +Cc: Sowmiya Sree Elavalagan, linux-wireless

htt stats are not working after htt peer stats display
and also after htt peer stats reset. Trying to dump htt 
stats shows "Resource temporarily unavailable".
This is because of "ar->debug.htt_stats.stats_req" member is being
consecutively used for all htt stats without being reset 
during the previous usage. Hence assigning NULL to this member 
after freeing the allocated memory fixes the issue.

console logs below:
# echo 9 >/sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats_type
# cat /sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats_type
9
# cat /sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats
cat: can't open '/sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats'
: Resource temporarily unavailable

Signed-off-by: Sowmiya Sree Elavalagan <ssreeela@codeaurora.org>
---
 drivers/net/wireless/ath/ath11k/debugfs_sta.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/wireless/ath/ath11k/debugfs_sta.c b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
index 389dac2..696ff14 100644
--- a/drivers/net/wireless/ath/ath11k/debugfs_sta.c
+++ b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
@@ -435,13 +435,22 @@ ath11k_dbg_sta_open_htt_peer_stats(struct inode *inode, struct file *file)
 	return 0;
 out:
 	vfree(stats_req);
+	ar->debug.htt_stats.stats_req = NULL;
 	return ret;
 }
 
 static int
 ath11k_dbg_sta_release_htt_peer_stats(struct inode *inode, struct file *file)
 {
+	struct ieee80211_sta *sta = inode->i_private;
+	struct ath11k_sta *arsta = (struct ath11k_sta *)sta->drv_priv;
+	struct ath11k *ar = arsta->arvif->ar;
+
+	mutex_lock(&ar->conf_mutex);
 	vfree(file->private_data);
+	ar->debug.htt_stats.stats_req = NULL;
+	mutex_unlock(&ar->conf_mutex);
+
 	return 0;
 }
 
-- 
2.7.4

_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] ath11k: fix resource unavailability for htt stats after peer stats display
  2020-05-04 11:45 ` Sowmiya Sree Elavalagan
  (?)
  (?)
@ 2020-05-05  7:38 ` Kalle Valo
  -1 siblings, 0 replies; 4+ messages in thread
From: Kalle Valo @ 2020-05-05  7:38 UTC (permalink / raw)
  To: Sowmiya Sree Elavalagan; +Cc: ath11k, linux-wireless, Sowmiya Sree Elavalagan

Sowmiya Sree Elavalagan <ssreeela@codeaurora.org> wrote:

> htt stats are not working after htt peer stats display
> and also after htt peer stats reset. Trying to dump htt
> stats shows "Resource temporarily unavailable".
> This is because of "ar->debug.htt_stats.stats_req" member is being
> consecutively used for all htt stats without being reset
> during the previous usage. Hence assigning NULL to this member
> after freeing the allocated memory fixes the issue.
> 
> console logs below:
> # echo 9 >/sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats_type
> # cat /sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats_type
> 9
> # cat /sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats
> cat: can't open '/sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats'
> : Resource temporarily unavailable
> 
> Signed-off-by: Sowmiya Sree Elavalagan <ssreeela@codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

52f274b51993 ath11k: fix resource unavailability for htt stats after peer stats display

-- 
https://patchwork.kernel.org/patch/11525557/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ath11k: fix resource unavailability for htt stats after peer stats display
  2020-05-04 11:45 ` Sowmiya Sree Elavalagan
  (?)
@ 2020-05-05  7:38 ` Kalle Valo
  -1 siblings, 0 replies; 4+ messages in thread
From: Kalle Valo @ 2020-05-05  7:38 UTC (permalink / raw)
  To: Sowmiya Sree Elavalagan; +Cc: linux-wireless, ath11k

Sowmiya Sree Elavalagan <ssreeela@codeaurora.org> wrote:

> htt stats are not working after htt peer stats display
> and also after htt peer stats reset. Trying to dump htt
> stats shows "Resource temporarily unavailable".
> This is because of "ar->debug.htt_stats.stats_req" member is being
> consecutively used for all htt stats without being reset
> during the previous usage. Hence assigning NULL to this member
> after freeing the allocated memory fixes the issue.
> 
> console logs below:
> # echo 9 >/sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats_type
> # cat /sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats_type
> 9
> # cat /sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats
> cat: can't open '/sys/kernel/debug/ath11k/ipq8074/mac1/htt_stats'
> : Resource temporarily unavailable
> 
> Signed-off-by: Sowmiya Sree Elavalagan <ssreeela@codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

52f274b51993 ath11k: fix resource unavailability for htt stats after peer stats display

-- 
https://patchwork.kernel.org/patch/11525557/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-05-05  7:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-04 11:45 [PATCH] ath11k: fix resource unavailability for htt stats after peer stats display Sowmiya Sree Elavalagan
2020-05-04 11:45 ` Sowmiya Sree Elavalagan
2020-05-05  7:38 ` Kalle Valo
2020-05-05  7:38 ` Kalle Valo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.