summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-05-11 14:01:36 +0200
committerJohannes Berg <johannes.berg@intel.com>2015-05-11 14:01:36 +0200
commit96a4688edb5e638a9f81c787c031bbdbfa291527 (patch)
treebcbb05910c55488a9a2f65cca962ee62ae7cf290 /net/mac80211
parentbf45a24243eb0673f52eaaac620617601e484f07 (diff)
downloadlinux-96a4688edb5e638a9f81c787c031bbdbfa291527.tar.gz
linux-96a4688edb5e638a9f81c787c031bbdbfa291527.tar.bz2
linux-96a4688edb5e638a9f81c787c031bbdbfa291527.zip
mac80211: check fast-xmit if IBSS STA QoS changed
When an IBSS station gets QoS enabled after having been added, check fast-xmit to make sure the QoS header gets added to the cache properly and frames can go out with QoS and higher rates. Reported-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/ibss.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index bfef1b215050..21716af8bec3 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -1031,8 +1031,11 @@ static void ieee80211_update_sta_info(struct ieee80211_sub_if_data *sdata,
}
}
- if (sta && elems->wmm_info && local->hw.queues >= IEEE80211_NUM_ACS)
+ if (sta && !sta->sta.wme &&
+ elems->wmm_info && local->hw.queues >= IEEE80211_NUM_ACS) {
sta->sta.wme = true;
+ ieee80211_check_fast_xmit(sta);
+ }
if (sta && elems->ht_operation && elems->ht_cap_elem &&
sdata->u.ibss.chandef.width != NL80211_CHAN_WIDTH_20_NOHT &&