diff options
Diffstat (limited to 'net/mac80211/work.c')
-rw-r--r-- | net/mac80211/work.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/net/mac80211/work.c b/net/mac80211/work.c index 7c5d95b1bc04..a74fd6ee0083 100644 --- a/net/mac80211/work.c +++ b/net/mac80211/work.c | |||
@@ -202,7 +202,7 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata, | |||
202 | struct ieee80211_local *local = sdata->local; | 202 | struct ieee80211_local *local = sdata->local; |
203 | struct sk_buff *skb; | 203 | struct sk_buff *skb; |
204 | struct ieee80211_mgmt *mgmt; | 204 | struct ieee80211_mgmt *mgmt; |
205 | u8 *pos; | 205 | u8 *pos, qos_info; |
206 | const u8 *ies; | 206 | const u8 *ies; |
207 | size_t offset = 0, noffset; | 207 | size_t offset = 0, noffset; |
208 | int i, len, count, rates_len, supp_rates_len; | 208 | int i, len, count, rates_len, supp_rates_len; |
@@ -375,6 +375,14 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata, | |||
375 | } | 375 | } |
376 | 376 | ||
377 | if (wk->assoc.wmm_used && local->hw.queues >= 4) { | 377 | if (wk->assoc.wmm_used && local->hw.queues >= 4) { |
378 | if (wk->assoc.uapsd_used) { | ||
379 | qos_info = IEEE80211_DEFAULT_UAPSD_QUEUES; | ||
380 | qos_info |= (IEEE80211_DEFAULT_MAX_SP_LEN << | ||
381 | IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT); | ||
382 | } else { | ||
383 | qos_info = 0; | ||
384 | } | ||
385 | |||
378 | pos = skb_put(skb, 9); | 386 | pos = skb_put(skb, 9); |
379 | *pos++ = WLAN_EID_VENDOR_SPECIFIC; | 387 | *pos++ = WLAN_EID_VENDOR_SPECIFIC; |
380 | *pos++ = 7; /* len */ | 388 | *pos++ = 7; /* len */ |
@@ -384,7 +392,7 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata, | |||
384 | *pos++ = 2; /* WME */ | 392 | *pos++ = 2; /* WME */ |
385 | *pos++ = 0; /* WME info */ | 393 | *pos++ = 0; /* WME info */ |
386 | *pos++ = 1; /* WME ver */ | 394 | *pos++ = 1; /* WME ver */ |
387 | *pos++ = 0; | 395 | *pos++ = qos_info; |
388 | } | 396 | } |
389 | 397 | ||
390 | /* add any remaining custom (i.e. vendor specific here) IEs */ | 398 | /* add any remaining custom (i.e. vendor specific here) IEs */ |