aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index a7b92f5f7161..efa41fc66c1f 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -2817,6 +2817,7 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
2817 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data; 2817 struct ieee80211_mgd_assoc_data *assoc_data = ifmgd->assoc_data;
2818 u16 capab_info, status_code, aid; 2818 u16 capab_info, status_code, aid;
2819 struct ieee802_11_elems elems; 2819 struct ieee802_11_elems elems;
2820 int ac, uapsd_queues = -1;
2820 u8 *pos; 2821 u8 *pos;
2821 bool reassoc; 2822 bool reassoc;
2822 struct cfg80211_bss *bss; 2823 struct cfg80211_bss *bss;
@@ -2886,9 +2887,15 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
2886 * is set can cause the interface to go idle 2887 * is set can cause the interface to go idle
2887 */ 2888 */
2888 ieee80211_destroy_assoc_data(sdata, true); 2889 ieee80211_destroy_assoc_data(sdata, true);
2890
2891 /* get uapsd queues configuration */
2892 uapsd_queues = 0;
2893 for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
2894 if (sdata->tx_conf[ac].uapsd)
2895 uapsd_queues |= BIT(ac);
2889 } 2896 }
2890 2897
2891 cfg80211_rx_assoc_resp(sdata->dev, bss, (u8 *)mgmt, len); 2898 cfg80211_rx_assoc_resp(sdata->dev, bss, (u8 *)mgmt, len, uapsd_queues);
2892} 2899}
2893 2900
2894static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata, 2901static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,