aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2012-03-14 10:15:03 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-03-15 13:43:12 -0400
commitdc41e4d474bb18e60bc6678e58adc52ed227f105 (patch)
tree9a218ec7a9ccfca2bb92f655b270271e765b4433 /net/mac80211/mlme.c
parentada577c12f7cd8851c999a9f19f62df06df7c39a (diff)
mac80211: make uapsd_* keys per-vif
uapsd_queues and uapsd_max_sp_len are relevant only for managed interfaces, and can be configured differently for each vif. Move them from the local struct to sdata->u.mgd, and update the debugfs functions accordingly. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 0df22372af8d..576fb25456dd 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -572,8 +572,8 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata)
572 572
573 if (assoc_data->wmm) { 573 if (assoc_data->wmm) {
574 if (assoc_data->uapsd) { 574 if (assoc_data->uapsd) {
575 qos_info = local->uapsd_queues; 575 qos_info = ifmgd->uapsd_queues;
576 qos_info |= (local->uapsd_max_sp_len << 576 qos_info |= (ifmgd->uapsd_max_sp_len <<
577 IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT); 577 IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT);
578 } else { 578 } else {
579 qos_info = 0; 579 qos_info = 0;
@@ -1192,7 +1192,7 @@ static void ieee80211_sta_wmm_params(struct ieee80211_local *local,
1192 return; 1192 return;
1193 1193
1194 if (ifmgd->flags & IEEE80211_STA_UAPSD_ENABLED) 1194 if (ifmgd->flags & IEEE80211_STA_UAPSD_ENABLED)
1195 uapsd_queues = local->uapsd_queues; 1195 uapsd_queues = ifmgd->uapsd_queues;
1196 1196
1197 count = wmm_param[6] & 0x0f; 1197 count = wmm_param[6] & 0x0f;
1198 if (count == ifmgd->wmm_last_param_set) 1198 if (count == ifmgd->wmm_last_param_set)
@@ -3013,6 +3013,8 @@ void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata)
3013 3013
3014 ifmgd->flags = 0; 3014 ifmgd->flags = 0;
3015 ifmgd->powersave = sdata->wdev.ps; 3015 ifmgd->powersave = sdata->wdev.ps;
3016 ifmgd->uapsd_queues = IEEE80211_DEFAULT_UAPSD_QUEUES;
3017 ifmgd->uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
3016 3018
3017 mutex_init(&ifmgd->mtx); 3019 mutex_init(&ifmgd->mtx);
3018 3020