diff options
author | Eliad Peller <eliad@wizery.com> | 2012-03-14 10:15:03 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-03-15 13:43:12 -0400 |
commit | dc41e4d474bb18e60bc6678e58adc52ed227f105 (patch) | |
tree | 9a218ec7a9ccfca2bb92f655b270271e765b4433 /net/mac80211/mlme.c | |
parent | ada577c12f7cd8851c999a9f19f62df06df7c39a (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.c | 8 |
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 | ||