diff options
author | John W. Linville <linville@tuxdriver.com> | 2014-03-04 13:05:12 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-03-04 13:05:12 -0500 |
commit | f3b6a488a670f1be2666ab97e31dcfc0b1648884 (patch) | |
tree | d8d2431f21d4371c907dec075926e86840e86d1e /drivers/net/wireless/ath/ath9k/xmit.c | |
parent | c14c5d99a453af6b86f15aca8fe9005b2b8f3b26 (diff) | |
parent | adb07df1e039e9fe43e66aeea8b4771f83659dbb (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Conflicts:
drivers/net/wireless/ath/ath9k/recv.c
drivers/net/wireless/mwifiex/pcie.c
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/xmit.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/xmit.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 306ea322c65d..fafacfed44ea 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c | |||
@@ -1445,14 +1445,16 @@ void ath_tx_aggr_sleep(struct ieee80211_sta *sta, struct ath_softc *sc, | |||
1445 | for (tidno = 0, tid = &an->tid[tidno]; | 1445 | for (tidno = 0, tid = &an->tid[tidno]; |
1446 | tidno < IEEE80211_NUM_TIDS; tidno++, tid++) { | 1446 | tidno < IEEE80211_NUM_TIDS; tidno++, tid++) { |
1447 | 1447 | ||
1448 | if (!tid->sched) | ||
1449 | continue; | ||
1450 | |||
1451 | ac = tid->ac; | 1448 | ac = tid->ac; |
1452 | txq = ac->txq; | 1449 | txq = ac->txq; |
1453 | 1450 | ||
1454 | ath_txq_lock(sc, txq); | 1451 | ath_txq_lock(sc, txq); |
1455 | 1452 | ||
1453 | if (!tid->sched) { | ||
1454 | ath_txq_unlock(sc, txq); | ||
1455 | continue; | ||
1456 | } | ||
1457 | |||
1456 | buffered = ath_tid_has_buffered(tid); | 1458 | buffered = ath_tid_has_buffered(tid); |
1457 | 1459 | ||
1458 | tid->sched = false; | 1460 | tid->sched = false; |
@@ -2185,14 +2187,15 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb, | |||
2185 | txq->stopped = true; | 2187 | txq->stopped = true; |
2186 | } | 2188 | } |
2187 | 2189 | ||
2190 | if (txctl->an) | ||
2191 | tid = ath_get_skb_tid(sc, txctl->an, skb); | ||
2192 | |||
2188 | if (info->flags & IEEE80211_TX_CTL_PS_RESPONSE) { | 2193 | if (info->flags & IEEE80211_TX_CTL_PS_RESPONSE) { |
2189 | ath_txq_unlock(sc, txq); | 2194 | ath_txq_unlock(sc, txq); |
2190 | txq = sc->tx.uapsdq; | 2195 | txq = sc->tx.uapsdq; |
2191 | ath_txq_lock(sc, txq); | 2196 | ath_txq_lock(sc, txq); |
2192 | } else if (txctl->an && | 2197 | } else if (txctl->an && |
2193 | ieee80211_is_data_present(hdr->frame_control)) { | 2198 | ieee80211_is_data_present(hdr->frame_control)) { |
2194 | tid = ath_get_skb_tid(sc, txctl->an, skb); | ||
2195 | |||
2196 | WARN_ON(tid->ac->txq != txctl->txq); | 2199 | WARN_ON(tid->ac->txq != txctl->txq); |
2197 | 2200 | ||
2198 | if (info->flags & IEEE80211_TX_CTL_CLEAR_PS_FILT) | 2201 | if (info->flags & IEEE80211_TX_CTL_CLEAR_PS_FILT) |