aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAlexander Bondar <alexander.bondar@intel.com>2013-01-22 09:52:23 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-03-25 09:43:05 -0400
commit219c38674c262378ec411dd8318ebfd199fbce8d (patch)
treeebe6f4a191c5ddf4286b195a35e709bf1228af7f /net
parentc3ffeab4345830aadfc78444933754330f1339e7 (diff)
mac80211: allow drivers to set default uAPSD parameters
mac80211 currently sets uAPSD parameters to have VO AC trigger- and delivery-enabled, with maximum service period length. Allow drivers to change these default settings since different uAPSD client implementations may handle errors differently and be able to recover from some errors. Note: some APs may not function correctly if one or all ACs are trigger- and delivery-enabled, see http://thread.gmane.org/gmane.linux.kernel.wireless.general/93577. We retested with this AP and later firmware doesn't have this bug any more. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/main.c2
-rw-r--r--net/mac80211/mlme.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index c6f81ecc36a1..b0d286821864 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -587,6 +587,8 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
587 IEEE80211_RADIOTAP_MCS_HAVE_BW; 587 IEEE80211_RADIOTAP_MCS_HAVE_BW;
588 local->hw.radiotap_vht_details = IEEE80211_RADIOTAP_VHT_KNOWN_GI | 588 local->hw.radiotap_vht_details = IEEE80211_RADIOTAP_VHT_KNOWN_GI |
589 IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH; 589 IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH;
590 local->hw.uapsd_queues = IEEE80211_DEFAULT_UAPSD_QUEUES;
591 local->hw.uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
590 local->user_power_level = IEEE80211_UNSET_POWER_LEVEL; 592 local->user_power_level = IEEE80211_UNSET_POWER_LEVEL;
591 wiphy->ht_capa_mod_mask = &mac80211_ht_capa_mod_mask; 593 wiphy->ht_capa_mod_mask = &mac80211_ht_capa_mod_mask;
592 wiphy->vht_capa_mod_mask = &mac80211_vht_capa_mod_mask; 594 wiphy->vht_capa_mod_mask = &mac80211_vht_capa_mod_mask;
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 8b3e852d6032..9958cb7df8f1 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -3525,8 +3525,8 @@ void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata)
3525 3525
3526 ifmgd->flags = 0; 3526 ifmgd->flags = 0;
3527 ifmgd->powersave = sdata->wdev.ps; 3527 ifmgd->powersave = sdata->wdev.ps;
3528 ifmgd->uapsd_queues = IEEE80211_DEFAULT_UAPSD_QUEUES; 3528 ifmgd->uapsd_queues = sdata->local->hw.uapsd_queues;
3529 ifmgd->uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN; 3529 ifmgd->uapsd_max_sp_len = sdata->local->hw.uapsd_max_sp_len;
3530 ifmgd->p2p_noa_index = -1; 3530 ifmgd->p2p_noa_index = -1;
3531 3531
3532 mutex_init(&ifmgd->mtx); 3532 mutex_init(&ifmgd->mtx);