diff options
author | Johannes Berg <johannes.berg@intel.com> | 2014-11-11 06:48:42 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-12-15 06:34:45 -0500 |
commit | 848955ccf0bdf42fff33e021a76f6daec98fe59b (patch) | |
tree | f4d17dc5c3f732ad016152ba509b4bc681526ec2 /net/mac80211/mlme.c | |
parent | 4bcc56bb3a9622e877772598d1cac124266b2b8a (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.c | 7 |
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 { |