diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-02-25 15:36:57 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-02-25 15:33:40 -0500 |
commit | 5f16a43617d46cf255a66f4dc193a7f5b2540aaf (patch) | |
tree | add5e551c9d1abeee57b1fbad632a0e23bdd39b1 /net/mac80211/status.c | |
parent | 8628172f45c839376bf2b70bbd326d56e68dadc3 (diff) | |
download | op-kernel-dev-5f16a43617d46cf255a66f4dc193a7f5b2540aaf.zip op-kernel-dev-5f16a43617d46cf255a66f4dc193a7f5b2540aaf.tar.gz |
mac80211: support direct offchannel TX offload
For devices supported by iwlwifi sometimes
off-channel transmissions need to be handled
by the device completely. To support this
mac80211 needs to pass the frame directly
to the driver and not through the TX path
as the driver needs the frame and channel
information at the same time.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/status.c')
-rw-r--r-- | net/mac80211/status.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c index 8651851..b936dd2 100644 --- a/net/mac80211/status.c +++ b/net/mac80211/status.c @@ -341,6 +341,10 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) cookie = local->hw_roc_cookie ^ 2; local->hw_roc_skb_for_status = NULL; } + + if (cookie == local->hw_offchan_tx_cookie) + local->hw_offchan_tx_cookie = 0; + cfg80211_mgmt_tx_status( skb->dev, cookie, skb->data, skb->len, !!(info->flags & IEEE80211_TX_STAT_ACK), GFP_ATOMIC); |