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>
This commit is contained in:
@@ -4667,8 +4667,13 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata,
|
||||
ifmgd->flags |= IEEE80211_STA_DISABLE_VHT;
|
||||
rcu_read_unlock();
|
||||
|
||||
if (WARN((sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_UAPSD) &&
|
||||
(local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK),
|
||||
"U-APSD not supported with HW_PS_NULLFUNC_STACK\n"))
|
||||
sdata->vif.driver_flags &= ~IEEE80211_VIF_SUPPORTS_UAPSD;
|
||||
|
||||
if (bss->wmm_used && bss->uapsd_supported &&
|
||||
(sdata->local->hw.flags & IEEE80211_HW_SUPPORTS_UAPSD)) {
|
||||
(sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_UAPSD)) {
|
||||
assoc_data->uapsd = true;
|
||||
ifmgd->flags |= IEEE80211_STA_UAPSD_ENABLED;
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user