Lines Matching refs:modes
6313 struct hostapd_hw_modes *modes;
6500 mode = os_realloc_array(phy_info->modes,
6505 phy_info->modes = mode;
6507 mode = &phy_info->modes[*(phy_info->num_modes)];
6528 mode = &phy_info->modes[*(phy_info->num_modes) - 1];
6576 wpa_driver_nl80211_postprocess_modes(struct hostapd_hw_modes *modes,
6583 /* heuristic to set up modes */
6585 if (!modes[m].num_channels)
6587 if (modes[m].channels[0].freq < 4000) {
6588 modes[m].mode = HOSTAPD_MODE_IEEE80211B;
6589 for (i = 0; i < modes[m].num_rates; i++) {
6590 if (modes[m].rates[i] > 200) {
6591 modes[m].mode = HOSTAPD_MODE_IEEE80211G;
6595 } else if (modes[m].channels[0].freq > 50000)
6596 modes[m].mode = HOSTAPD_MODE_IEEE80211AD;
6598 modes[m].mode = HOSTAPD_MODE_IEEE80211A;
6605 if (modes[m].mode == HOSTAPD_MODE_IEEE80211B)
6606 return modes; /* 802.11b already included */
6607 if (modes[m].mode == HOSTAPD_MODE_IEEE80211G)
6612 return modes; /* 2.4 GHz band not supported at all */
6614 nmodes = os_realloc_array(modes, *num_modes + 1, sizeof(*nmodes));
6616 return modes; /* Could not add 802.11b mode */
6621 modes = nmodes;
6625 mode11g = &modes[mode11g_idx];
6631 return modes; /* Could not add 802.11b mode */
6641 return modes; /* Could not add 802.11b mode */
6658 return modes; /* No 802.11b rates */
6664 return modes;
6705 struct hostapd_hw_modes *mode = &results->modes[m];
6723 if (!(results->modes[m].ht_capab &
6726 nl80211_set_ht40_mode(&results->modes[m], start, end);
6750 if (!(results->modes[m].ht_capab &
6753 nl80211_set_ht40_mode_sec(&results->modes[m], start, end);
6799 if (!(results->modes[m].ht_capab &
6803 if (!results->modes[m].vht_capab)
6806 nl80211_set_vht_mode(&results->modes[m], start, end);
6941 .modes = NULL,
6964 return wpa_driver_nl80211_postprocess_modes(result.modes,