From: Johannes Berg Date: Mon, 11 May 2015 12:01:36 +0000 (+0200) Subject: mac80211: check fast-xmit if IBSS STA QoS changed X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=96a4688edb5e638a9f81c787c031bbdbfa291527;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: Johannes Berg --- 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 &&