···730 if (bss->wmm_ie) {731 wmm = 1;732 }0000000733 ieee80211_rx_bss_put(dev, bss);000734 }735736 mgmt = (struct ieee80211_mgmt *) skb_put(skb, 24);···771 *pos++ = ifsta->ssid_len;772 memcpy(pos, ifsta->ssid, ifsta->ssid_len);773774- /* all supported rates should be added here but some APs775- * (e.g. D-Link DAP 1353 in b-only mode) don't like that776- * Therefore only add rates the AP supports */777- rates_len = ieee80211_compatible_rates(bss, sband, &rates);778 supp_rates_len = rates_len;779 if (supp_rates_len > 8)780 supp_rates_len = 8;
···730 if (bss->wmm_ie) {731 wmm = 1;732 }733+734+ /* get all rates supported by the device and the AP as735+ * some APs don't like getting a superset of their rates736+ * in the association request (e.g. D-Link DAP 1353 in737+ * b-only mode) */738+ rates_len = ieee80211_compatible_rates(bss, sband, &rates);739+740 ieee80211_rx_bss_put(dev, bss);741+ } else {742+ rates = ~0;743+ rates_len = sband->n_bitrates;744 }745746 mgmt = (struct ieee80211_mgmt *) skb_put(skb, 24);···761 *pos++ = ifsta->ssid_len;762 memcpy(pos, ifsta->ssid, ifsta->ssid_len);763764+ /* add all rates which were marked to be used above */000765 supp_rates_len = rates_len;766 if (supp_rates_len > 8)767 supp_rates_len = 8;