linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3.9] ath9k: limit tx path hang check to normal data queues
@ 2013-03-15 15:18 Felix Fietkau
  2013-03-15 18:34 ` Luis R. Rodriguez
  0 siblings, 1 reply; 3+ messages in thread
From: Felix Fietkau @ 2013-03-15 15:18 UTC (permalink / raw)
  To: linux-wireless; +Cc: linville, mcgrof

The beacon and multicast-buffer queues are managed by the beacon
tasklet, and the generic tx path hang check does not help in any way
here. Running it on those queues anyway can introduce some race
conditions leading to unnecessary chip resets.

Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
 drivers/net/wireless/ath/ath9k/link.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/link.c b/drivers/net/wireless/ath/ath9k/link.c
index ade3afb..39c84ec 100644
--- a/drivers/net/wireless/ath/ath9k/link.c
+++ b/drivers/net/wireless/ath/ath9k/link.c
@@ -28,21 +28,21 @@ void ath_tx_complete_poll_work(struct work_struct *work)
 	int i;
 	bool needreset = false;
 
-	for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++)
-		if (ATH_TXQ_SETUP(sc, i)) {
-			txq = &sc->tx.txq[i];
-			ath_txq_lock(sc, txq);
-			if (txq->axq_depth) {
-				if (txq->axq_tx_inprogress) {
-					needreset = true;
-					ath_txq_unlock(sc, txq);
-					break;
-				} else {
-					txq->axq_tx_inprogress = true;
-				}
+	for (i = 0; i < IEEE80211_NUM_ACS; i++) {
+		txq = sc->tx.txq_map[i];
+
+		ath_txq_lock(sc, txq);
+		if (txq->axq_depth) {
+			if (txq->axq_tx_inprogress) {
+				needreset = true;
+				ath_txq_unlock(sc, txq);
+				break;
+			} else {
+				txq->axq_tx_inprogress = true;
 			}
-			ath_txq_unlock_complete(sc, txq);
 		}
+		ath_txq_unlock_complete(sc, txq);
+	}
 
 	if (needreset) {
 		ath_dbg(ath9k_hw_common(sc->sc_ah), RESET,
-- 
1.8.0.2


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

* Re: [PATCH 3.9] ath9k: limit tx path hang check to normal data queues
  2013-03-15 15:18 [PATCH 3.9] ath9k: limit tx path hang check to normal data queues Felix Fietkau
@ 2013-03-15 18:34 ` Luis R. Rodriguez
  2013-03-15 22:21   ` Felix Fietkau
  0 siblings, 1 reply; 3+ messages in thread
From: Luis R. Rodriguez @ 2013-03-15 18:34 UTC (permalink / raw)
  To: Felix Fietkau; +Cc: linux-wireless, linville, mcgrof

On Fri, Mar 15, 2013 at 04:18:44PM +0100, Felix Fietkau wrote:
> The beacon and multicast-buffer queues are managed by the beacon
> tasklet, and the generic tx path hang check does not help in any way
> here. Running it on those queues anyway can introduce some race
> conditions leading to unnecessary chip resets.
> 
> Cc: stable@vger.kernel.org
> Signed-off-by: Felix Fietkau <nbd@openwrt.org>

This applies to v3.8 as well, do you want it there as well?

  Luis

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

* Re: [PATCH 3.9] ath9k: limit tx path hang check to normal data queues
  2013-03-15 18:34 ` Luis R. Rodriguez
@ 2013-03-15 22:21   ` Felix Fietkau
  0 siblings, 0 replies; 3+ messages in thread
From: Felix Fietkau @ 2013-03-15 22:21 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linux-wireless, linville, mcgrof

On 2013-03-15 7:34 PM, Luis R. Rodriguez wrote:
> On Fri, Mar 15, 2013 at 04:18:44PM +0100, Felix Fietkau wrote:
>> The beacon and multicast-buffer queues are managed by the beacon
>> tasklet, and the generic tx path hang check does not help in any way
>> here. Running it on those queues anyway can introduce some race
>> conditions leading to unnecessary chip resets.
>> 
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Felix Fietkau <nbd@openwrt.org>
> 
> This applies to v3.8 as well, do you want it there as well?
Yes


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

end of thread, other threads:[~2013-03-15 22:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-15 15:18 [PATCH 3.9] ath9k: limit tx path hang check to normal data queues Felix Fietkau
2013-03-15 18:34 ` Luis R. Rodriguez
2013-03-15 22:21   ` Felix Fietkau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).