]> git.baikalelectronics.ru Git - kernel.git/commitdiff
mac80211: fix WMM TXOP calculation
authorDreyfuss, Haim <haim.dreyfuss@intel.com>
Fri, 31 Aug 2018 08:31:04 +0000 (11:31 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 3 Sep 2018 08:35:03 +0000 (10:35 +0200)
In commit 9236c4523e5b ("mac80211: limit wmm params to comply
with ETSI requirements"), we have limited the WMM parameters to
comply with 802.11 and ETSI standard.  Mistakenly the TXOP value
was caluclated wrong.  Fix it by taking the minimum between
802.11 to ETSI to make sure we are not violating both.

Fixes: b9395aeecf3b ("mac80211: limit wmm params to comply with ETSI requirements")
Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/util.c

index c80187d6e6bb4753cd122de1316c6c0ae13cd84e..93b5bb849ad7174181d64bbadf938d1fd93aa4c3 100644 (file)
@@ -1151,8 +1151,7 @@ void ieee80211_regulatory_limit_wmm_params(struct ieee80211_sub_if_data *sdata,
        qparam->cw_min = max_t(u16, qparam->cw_min, wmm_ac->cw_min);
        qparam->cw_max = max_t(u16, qparam->cw_max, wmm_ac->cw_max);
        qparam->aifs = max_t(u8, qparam->aifs, wmm_ac->aifsn);
-       qparam->txop = !qparam->txop ? wmm_ac->cot / 32 :
-               min_t(u16, qparam->txop, wmm_ac->cot / 32);
+       qparam->txop = min_t(u16, qparam->txop, wmm_ac->cot / 32);
        rcu_read_unlock();
 }