ATH10K Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] ath10k: ensure pktlog disable cmd reaches fw before pdev suspend
@ 2015-07-09  8:49 Raja Mani
  2015-07-09  8:49 ` [PATCH 2/2] ath10k: free collected fw stats memory if .pull_fw_stats fails Raja Mani
  2015-08-19 10:14 ` [PATCH 1/2] ath10k: ensure pktlog disable cmd reaches fw before pdev suspend Kalle Valo
  0 siblings, 2 replies; 3+ messages in thread
From: Raja Mani @ 2015-07-09  8:49 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Raja Mani

Found incorrect sequence in ath10k_core_stop() where wmi pktlog
disable cmd is passed from ath10k_debug_stop() to firmware
immediately after wmi pdev suspend cmd. Firmware will not accept
any wmi cmd after receiving wmi pdev suspend cmd.

Fix this issue in ath10k_core_stop() by moving ath10k_debug_stop()
just before sending pdev suspend cmd. So that pktlog disable cmd
will get passed before pdev suspend cmd.

Signed-off-by: Raja Mani <rmani@qti.qualcomm.com>
---
 drivers/net/wireless/ath/ath10k/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index f79fa6c..6d19d3d 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -1368,13 +1368,13 @@ int ath10k_wait_for_suspend(struct ath10k *ar, u32 suspend_opt)
 void ath10k_core_stop(struct ath10k *ar)
 {
 	lockdep_assert_held(&ar->conf_mutex);
+	ath10k_debug_stop(ar);
 
 	/* try to suspend target */
 	if (ar->state != ATH10K_STATE_RESTARTING &&
 	    ar->state != ATH10K_STATE_UTF)
 		ath10k_wait_for_suspend(ar, WMI_PDEV_SUSPEND_AND_DISABLE_INTR);
 
-	ath10k_debug_stop(ar);
 	ath10k_hif_stop(ar);
 	ath10k_htt_tx_free(&ar->htt);
 	ath10k_htt_rx_free(&ar->htt);
-- 
1.8.1.2


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

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

* [PATCH 2/2] ath10k: free collected fw stats memory if .pull_fw_stats fails
  2015-07-09  8:49 [PATCH 1/2] ath10k: ensure pktlog disable cmd reaches fw before pdev suspend Raja Mani
@ 2015-07-09  8:49 ` Raja Mani
  2015-08-19 10:14 ` [PATCH 1/2] ath10k: ensure pktlog disable cmd reaches fw before pdev suspend Kalle Valo
  1 sibling, 0 replies; 3+ messages in thread
From: Raja Mani @ 2015-07-09  8:49 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Raja Mani

If .pull_fw_stats() fails for some reason while processing
fw stats event, collected pdev/vdev/peer stats just before
the failure should be freed. This is unlikely to happen,
just code review catch.

Signed-off-by: Raja Mani <rmani@qti.qualcomm.com>
---
 drivers/net/wireless/ath/ath10k/debug.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/debug.c b/drivers/net/wireless/ath/ath10k/debug.c
index edf6047..fc6852c 100644
--- a/drivers/net/wireless/ath/ath10k/debug.c
+++ b/drivers/net/wireless/ath/ath10k/debug.c
@@ -321,7 +321,7 @@ void ath10k_debug_fw_stats_process(struct ath10k *ar, struct sk_buff *skb)
 	ret = ath10k_wmi_pull_fw_stats(ar, skb, &stats);
 	if (ret) {
 		ath10k_warn(ar, "failed to pull fw stats: %d\n", ret);
-		goto unlock;
+		goto free;
 	}
 
 	/* Stat data may exceed htc-wmi buffer limit. In such case firmware
@@ -384,7 +384,6 @@ free:
 	ath10k_debug_fw_stats_vdevs_free(&stats.vdevs);
 	ath10k_debug_fw_stats_peers_free(&stats.peers);
 
-unlock:
 	spin_unlock_bh(&ar->data_lock);
 }
 
-- 
1.8.1.2


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

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

* Re: [PATCH 1/2] ath10k: ensure pktlog disable cmd reaches fw before pdev suspend
  2015-07-09  8:49 [PATCH 1/2] ath10k: ensure pktlog disable cmd reaches fw before pdev suspend Raja Mani
  2015-07-09  8:49 ` [PATCH 2/2] ath10k: free collected fw stats memory if .pull_fw_stats fails Raja Mani
@ 2015-08-19 10:14 ` Kalle Valo
  1 sibling, 0 replies; 3+ messages in thread
From: Kalle Valo @ 2015-08-19 10:14 UTC (permalink / raw)
  To: Raja Mani; +Cc: linux-wireless, ath10k

Raja Mani <rmani@qti.qualcomm.com> writes:

> Found incorrect sequence in ath10k_core_stop() where wmi pktlog
> disable cmd is passed from ath10k_debug_stop() to firmware
> immediately after wmi pdev suspend cmd. Firmware will not accept
> any wmi cmd after receiving wmi pdev suspend cmd.
>
> Fix this issue in ath10k_core_stop() by moving ath10k_debug_stop()
> just before sending pdev suspend cmd. So that pktlog disable cmd
> will get passed before pdev suspend cmd.
>
> Signed-off-by: Raja Mani <rmani@qti.qualcomm.com>

Thanks, applied.

-- 
Kalle Valo

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

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

end of thread, other threads:[~2015-08-19 10:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-09  8:49 [PATCH 1/2] ath10k: ensure pktlog disable cmd reaches fw before pdev suspend Raja Mani
2015-07-09  8:49 ` [PATCH 2/2] ath10k: free collected fw stats memory if .pull_fw_stats fails Raja Mani
2015-08-19 10:14 ` [PATCH 1/2] ath10k: ensure pktlog disable cmd reaches fw before pdev suspend Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox