summaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2014-11-11 06:48:42 -0500
committerJohannes Berg <johannes.berg@intel.com>2014-12-15 06:34:45 -0500
commit848955ccf0bdf42fff33e021a76f6daec98fe59b (patch)
treef4d17dc5c3f732ad016152ba509b4bc681526ec2 /net/mac80211/mlme.c
parent4bcc56bb3a9622e877772598d1cac124266b2b8a (diff)
mac80211: move U-APSD enablement to vif flags
In order to let drivers have more dynamic U-APSD support, move the enablement flag to the virtual interface driver flags. This lets drivers not only set it up differently for different interfaces, but also enable/disable on the fly if needed. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 75a9bf50207e..f495b800b92c 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -4667,8 +4667,13 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata,
4667 ifmgd->flags |= IEEE80211_STA_DISABLE_VHT; 4667 ifmgd->flags |= IEEE80211_STA_DISABLE_VHT;
4668 rcu_read_unlock(); 4668 rcu_read_unlock();
4669 4669
4670 if (WARN((sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_UAPSD) &&
4671 (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK),
4672 "U-APSD not supported with HW_PS_NULLFUNC_STACK\n"))
4673 sdata->vif.driver_flags &= ~IEEE80211_VIF_SUPPORTS_UAPSD;
4674
4670 if (bss->wmm_used && bss->uapsd_supported && 4675 if (bss->wmm_used && bss->uapsd_supported &&
4671 (sdata->local->hw.flags & IEEE80211_HW_SUPPORTS_UAPSD)) { 4676 (sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_UAPSD)) {
4672 assoc_data->uapsd = true; 4677 assoc_data->uapsd = true;
4673 ifmgd->flags |= IEEE80211_STA_UAPSD_ENABLED; 4678 ifmgd->flags |= IEEE80211_STA_UAPSD_ENABLED;
4674 } else { 4679 } else {