mac80211: update to wireless-testing 2011-09-14
[openwrt/staging/yousong.git] / package / mac80211 / patches / 570-ath9k_tx_stop_failure_debug.patch
1 --- a/drivers/net/wireless/ath/ath9k/xmit.c
2 +++ b/drivers/net/wireless/ath/ath9k/xmit.c
3 @@ -1512,7 +1512,8 @@ bool ath_drain_all_txq(struct ath_softc
4 struct ath_hw *ah = sc->sc_ah;
5 struct ath_common *common = ath9k_hw_common(sc->sc_ah);
6 struct ath_txq *txq;
7 - int i, npend = 0;
8 + int i;
9 + u32 npend = 0;
10
11 if (sc->sc_flags & SC_OP_INVALID)
12 return true;
13 @@ -1524,11 +1525,12 @@ bool ath_drain_all_txq(struct ath_softc
14 if (!ATH_TXQ_SETUP(sc, i))
15 continue;
16
17 - npend += ath9k_hw_numtxpending(ah, sc->tx.txq[i].axq_qnum);
18 + if (ath9k_hw_numtxpending(ah, sc->tx.txq[i].axq_qnum))
19 + npend |= BIT(i);
20 }
21
22 if (npend)
23 - ath_err(common, "Failed to stop TX DMA!\n");
24 + ath_err(common, "Failed to stop TX DMA, queues=%08x!\n", npend);
25
26 for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++) {
27 if (!ATH_TXQ_SETUP(sc, i))