summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-04-14 10:28:37 +0200
committerJohannes Berg <johannes.berg@intel.com>2015-04-22 10:07:38 +0200
commit3ffd884012bb12d3ed64c9fd9a142a62fdcfaf11 (patch)
tree299d3bfeb6417ba083d24d15e3661c633afde1ed /net
parentmac80211: extend fast-xmit for more ciphers (diff)
downloadlinux-3ffd884012bb12d3ed64c9fd9a142a62fdcfaf11.tar.xz
linux-3ffd884012bb12d3ed64c9fd9a142a62fdcfaf11.zip
mac80211: extend fast-xmit to cover IBSS
IBSS can be supported very easily since it uses the standard station authorization state etc. so it just needs to be covered by the header building switch statement. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/tx.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 39e80c3f4726..49ba43eff6c4 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -2466,6 +2466,13 @@ void ieee80211_check_fast_xmit(struct sta_info *sta)
fc = cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA);
switch (sdata->vif.type) {
+ case NL80211_IFTYPE_ADHOC:
+ /* DA SA BSSID */
+ build.da_offs = offsetof(struct ieee80211_hdr, addr1);
+ build.sa_offs = offsetof(struct ieee80211_hdr, addr2);
+ memcpy(hdr->addr3, sdata->u.ibss.bssid, ETH_ALEN);
+ build.hdr_len = 24;
+ break;
case NL80211_IFTYPE_STATION:
if (test_sta_flag(sta, WLAN_STA_TDLS_PEER)) {
/* DA SA BSSID */