diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-06-11 10:47:56 (GMT) |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-06-19 19:49:17 (GMT) |
commit | 405393cfde07781c21cdee28b145919d6dfe382e (patch) | |
tree | c840e3690eb6b988d320d4bb44a75b6cdc15c220 /drivers/net/wireless/ath/ath9k/xmit.c | |
parent | 78b21949711ee3c877f1aab5b51abe1981e1161d (diff) | |
download | linux-405393cfde07781c21cdee28b145919d6dfe382e.tar.xz |
ath9k: Implement remain-on-channal support
Add remain on channel support in order to enable multi-channel
concurrency.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/xmit.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/xmit.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 7972e1e..22460a1 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -2197,6 +2197,9 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb, if (vif) avp = (void *)vif->drv_priv; + if (info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) + txctl->force_channel = true; + ret = ath_tx_prepare(hw, skb, txctl); if (ret) return ret; @@ -2234,7 +2237,8 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb, if (txctl->an && queue) tid = ath_get_skb_tid(sc, txctl->an, skb); - if (info->flags & IEEE80211_TX_CTL_PS_RESPONSE) { + if (info->flags & (IEEE80211_TX_CTL_PS_RESPONSE | + IEEE80211_TX_CTL_TX_OFFCHAN)) { ath_txq_unlock(sc, txq); txq = sc->tx.uapsdq; ath_txq_lock(sc, txq); |