offset = noffset;
        }
 
-       if (assoc_data->wmm_used && local->hw.queues >= 4) {
-               if (assoc_data->uapsd_used) {
+       if (assoc_data->wmm) {
+               if (assoc_data->uapsd) {
                        qos_info = local->uapsd_queues;
                        qos_info |= (local->uapsd_max_sp_len <<
                                     IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT);
                ifmgd->ap_smps = ifmgd->req_smps;
 
        assoc_data->capability = req->bss->capability;
-       assoc_data->wmm_used = bss->wmm_used;
+       assoc_data->wmm = bss->wmm_used && (local->hw.queues >= 4);
        assoc_data->supp_rates = bss->supp_rates;
        assoc_data->supp_rates_len = bss->supp_rates_len;
        assoc_data->ht_information_ie =
 
        if (bss->wmm_used && bss->uapsd_supported &&
            (sdata->local->hw.flags & IEEE80211_HW_SUPPORTS_UAPSD)) {
-               assoc_data->uapsd_used = true;
+               assoc_data->uapsd = true;
                ifmgd->flags |= IEEE80211_STA_UAPSD_ENABLED;
        } else {
-               assoc_data->uapsd_used = false;
+               assoc_data->uapsd = false;
                ifmgd->flags &= ~IEEE80211_STA_UAPSD_ENABLED;
        }