aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/xmit.c
diff options
context:
space:
mode:
authorKalle Valo <kvalo@codeaurora.org>2015-01-22 07:49:44 -0500
committerKalle Valo <kvalo@codeaurora.org>2015-01-22 07:49:44 -0500
commit6b03e32d575917d048875a182bd2dd8924036000 (patch)
tree634b311d02423f2c1138e06be53d1842902bc28b /drivers/net/wireless/ath/ath9k/xmit.c
parentbc48a51c2a29e231256c2f96daf80c2b7a45f390 (diff)
parentc1e140bf79d817d4a7aa9932eb98b0359c87af33 (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.c6
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);