From c3e04e54af820f112722e50e4b765afbd2c95655 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 1 Jun 2010 19:30:32 +0000 Subject: [PATCH] ath9k: one more queue stop/start fix git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21651 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/mac80211/patches/530-ath9k_queue_fill.patch | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/package/mac80211/patches/530-ath9k_queue_fill.patch b/package/mac80211/patches/530-ath9k_queue_fill.patch index 172fba4009..d9bedd668f 100644 --- a/package/mac80211/patches/530-ath9k_queue_fill.patch +++ b/package/mac80211/patches/530-ath9k_queue_fill.patch @@ -118,6 +118,16 @@ dma_unmap_single(sc->dev, bf->bf_dmacontext, skb->len, DMA_TO_DEVICE); ath_tx_complete(sc, skb, bf->aphy, tx_flags); ath_debug_stat_tx(sc, txq, bf, ts); +@@ -2060,8 +2048,7 @@ static void ath_wake_mac80211_queue(stru + int qnum; + + spin_lock_bh(&txq->axq_lock); +- if (txq->stopped && +- sc->tx.txq[txq->axq_qnum].axq_depth <= (ATH_TXBUF - 20)) { ++ if (txq->stopped && txq->pending_frames < ATH_MAX_QDEPTH) { + qnum = ath_get_mac80211_qnum(txq->axq_qnum, sc); + if (qnum != -1) { + ath_mac80211_start_queue(sc, qnum); --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@ -1026,6 +1026,7 @@ static int ath9k_tx(struct ieee80211_hw