diff options
author | Kalle Valo <kvalo@codeaurora.org> | 2015-01-22 07:49:44 -0500 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2015-01-22 07:49:44 -0500 |
commit | 6b03e32d575917d048875a182bd2dd8924036000 (patch) | |
tree | 634b311d02423f2c1138e06be53d1842902bc28b /drivers/net/wireless/ath/ath9k/xmit.c | |
parent | bc48a51c2a29e231256c2f96daf80c2b7a45f390 (diff) | |
parent | c1e140bf79d817d4a7aa9932eb98b0359c87af33 (diff) |
Merge commit 'c1e140bf79d817d4a7aa9932eb98b0359c87af33' from mac80211-next
Patch "ath9k: Fix no-ack frame status" needs these mac80211 patches:
commit 5cf16616e152dd5c274a65954c77f64892d025a8
Author: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Date: Wed Dec 10 21:26:11 2014 +0530
mac80211: Fix accounting of multicast frames
commit 6b127c71fbdd3daacfd8b9f80b8e6ebfb70a889e
Author: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Date: Wed Dec 10 21:26:10 2014 +0530
mac80211: Move IEEE80211_TX_CTL_PS_RESPONSE
Conflicts:
drivers/net/wireless/ath/wil6210/cfg80211.c
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/xmit.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/xmit.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 9c332f9c3fc5..1176d919569e 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c | |||
@@ -2303,7 +2303,7 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb, | |||
2303 | struct ath_txq *txq = txctl->txq; | 2303 | struct ath_txq *txq = txctl->txq; |
2304 | struct ath_atx_tid *tid = NULL; | 2304 | struct ath_atx_tid *tid = NULL; |
2305 | struct ath_buf *bf; | 2305 | struct ath_buf *bf; |
2306 | bool queue, skip_uapsd = false; | 2306 | bool queue, skip_uapsd = false, ps_resp; |
2307 | int q, ret; | 2307 | int q, ret; |
2308 | 2308 | ||
2309 | if (vif) | 2309 | if (vif) |
@@ -2312,6 +2312,8 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb, | |||
2312 | if (info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) | 2312 | if (info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) |
2313 | txctl->force_channel = true; | 2313 | txctl->force_channel = true; |
2314 | 2314 | ||
2315 | ps_resp = !!(info->control.flags & IEEE80211_TX_CTRL_PS_RESPONSE); | ||
2316 | |||
2315 | ret = ath_tx_prepare(hw, skb, txctl); | 2317 | ret = ath_tx_prepare(hw, skb, txctl); |
2316 | if (ret) | 2318 | if (ret) |
2317 | return ret; | 2319 | return ret; |
@@ -2354,7 +2356,7 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb, | |||
2354 | if (txctl->an && queue) | 2356 | if (txctl->an && queue) |
2355 | tid = ath_get_skb_tid(sc, txctl->an, skb); | 2357 | tid = ath_get_skb_tid(sc, txctl->an, skb); |
2356 | 2358 | ||
2357 | if (!skip_uapsd && (info->flags & IEEE80211_TX_CTL_PS_RESPONSE)) { | 2359 | if (!skip_uapsd && ps_resp) { |
2358 | ath_txq_unlock(sc, txq); | 2360 | ath_txq_unlock(sc, txq); |
2359 | txq = sc->tx.uapsdq; | 2361 | txq = sc->tx.uapsdq; |
2360 | ath_txq_lock(sc, txq); | 2362 | ath_txq_lock(sc, txq); |