aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorAlexander Bondar <alexander.bondar@intel.com>2013-04-02 15:30:14 +0300
committerJohannes Berg <johannes.berg@intel.com>2013-04-08 11:05:45 +0200
commit24aa11ab8ae03292d38ec0dbd9bc2ac49fe8a6dd (patch)
treea8cff6906873a33f8f3d4eb36cff00e54623b987 /net/mac80211/mlme.c
parentmac80211: fix do_stop handling while suspended (diff)
downloadlinux-dev-24aa11ab8ae03292d38ec0dbd9bc2ac49fe8a6dd.tar.xz
linux-dev-24aa11ab8ae03292d38ec0dbd9bc2ac49fe8a6dd.zip
mac80211: disable uAPSD if all ACs are under ACM
It's unlikely that an AP requires WMM mandatory admission control for all access categories, and if it does then we still transmit on the background AC without requesting admission. However, avoid using uAPSD in this case since the implementation could run into issues and might use other ACs etc. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 304d6cfc6250..43bfa8199811 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -4086,7 +4086,8 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata,
rcu_read_unlock();
if (bss->wmm_used && bss->uapsd_supported &&
- (sdata->local->hw.flags & IEEE80211_HW_SUPPORTS_UAPSD)) {
+ (sdata->local->hw.flags & IEEE80211_HW_SUPPORTS_UAPSD) &&
+ sdata->wmm_acm != 0xff) {
assoc_data->uapsd = true;
ifmgd->flags |= IEEE80211_STA_UAPSD_ENABLED;
} else {