• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/wpa/src/ap/

Lines Matching refs:iface

29 	if (!hapd->iconf->ieee80211n || !hapd->iface->current_mode ||
39 cap->a_mpdu_params = hapd->iface->current_mode->a_mpdu_params;
40 os_memcpy(cap->supported_mcs_set, hapd->iface->current_mode->mcs_set,
97 oper->operation_mode = host_to_le16(hapd->iface->ht_op_mode);
145 int hostapd_ht_operation_update(struct hostapd_iface *iface)
150 if (!iface->conf->ieee80211n || iface->conf->ht_op_mode_fixed)
154 __func__, iface->ht_op_mode);
156 if (!(iface->ht_op_mode & HT_OPER_OP_MODE_NON_GF_HT_STAS_PRESENT)
157 && iface->num_sta_ht_no_gf) {
158 iface->ht_op_mode |= HT_OPER_OP_MODE_NON_GF_HT_STAS_PRESENT;
160 } else if ((iface->ht_op_mode &
162 iface->num_sta_ht_no_gf == 0) {
163 iface->ht_op_mode &= ~HT_OPER_OP_MODE_NON_GF_HT_STAS_PRESENT;
167 if (!(iface->ht_op_mode & HT_OPER_OP_MODE_OBSS_NON_HT_STAS_PRESENT) &&
168 (iface->num_sta_no_ht || iface->olbc_ht)) {
169 iface->ht_op_mode |= HT_OPER_OP_MODE_OBSS_NON_HT_STAS_PRESENT;
171 } else if ((iface->ht_op_mode &
173 (iface->num_sta_no_ht == 0 && !iface->olbc_ht)) {
174 iface->ht_op_mode &= ~HT_OPER_OP_MODE_OBSS_NON_HT_STAS_PRESENT;
178 if (iface->num_sta_no_ht)
180 else if (iface->conf->secondary_channel && iface->num_sta_ht_20mhz)
182 else if (iface->olbc_ht)
187 cur_op_mode = iface->ht_op_mode & HT_OPER_OP_MODE_HT_PROT_MASK;
189 iface->ht_op_mode &= ~HT_OPER_OP_MODE_HT_PROT_MASK;
190 iface->ht_op_mode |= new_op_mode;
195 __func__, iface->ht_op_mode, op_mode_changes);
201 static int is_40_allowed(struct hostapd_iface *iface, int channel)
207 if (iface->current_mode->mode != HOSTAPD_MODE_IEEE80211G)
210 pri_freq = hostapd_hw_get_freq(iface->bss[0], iface->conf->channel);
212 if (iface->conf->secondary_channel > 0)
232 struct hostapd_iface *iface = hapd->iface;
249 if (!(iface->conf->ht_capab & HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET)) {
335 if (chan == iface->conf->channel)
337 if (is_40_allowed(iface, chan))
350 is_ht40_allowed, iface->num_sta_ht40_intolerant);
353 (iface->drv_flags & WPA_DRIVER_FLAGS_HT_2040_COEX)) {
354 if (iface->conf->secondary_channel) {
359 iface->conf->secondary_channel = 0;
360 ieee802_11_set_beacons(iface);
362 if (!iface->num_sta_ht40_intolerant &&
363 iface->conf->obss_interval) {
366 iface->conf->obss_interval;
367 eloop_cancel_timeout(ap_ht2040_timeout, hapd->iface,
370 hapd->iface, NULL);
410 void ht40_intolerant_add(struct hostapd_iface *iface, struct sta_info *sta)
412 if (iface->current_mode->mode != HOSTAPD_MODE_IEEE80211G)
422 iface->num_sta_ht40_intolerant++;
423 eloop_cancel_timeout(ap_ht2040_timeout, iface, NULL);
425 if (iface->conf->secondary_channel &&
426 (iface->drv_flags & WPA_DRIVER_FLAGS_HT_2040_COEX)) {
427 iface->conf->secondary_channel = 0;
428 ieee802_11_set_beacons(iface);
433 void ht40_intolerant_remove(struct hostapd_iface *iface, struct sta_info *sta)
439 iface->num_sta_ht40_intolerant--;
441 if (iface->num_sta_ht40_intolerant == 0 &&
442 (iface->conf->ht_capab & HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET) &&
443 (iface->drv_flags & WPA_DRIVER_FLAGS_HT_2040_COEX)) {
445 iface->conf->obss_interval;
449 eloop_cancel_timeout(ap_ht2040_timeout, iface, NULL);
451 iface, NULL);
466 hapd->iface->num_sta_ht_no_gf++;
471 hapd->iface->num_sta_ht_no_gf);
476 hapd->iface->num_sta_ht_20mhz++;
481 hapd->iface->num_sta_ht_20mhz);
485 ht40_intolerant_add(hapd->iface, sta);
493 hapd->iface->num_sta_no_ht++;
499 hapd->iface->num_sta_no_ht);
511 if (hostapd_ht_operation_update(hapd->iface) > 0)
512 ieee802_11_set_beacons(hapd->iface);
551 struct hostapd_iface *iface = eloop_data;
555 iface->conf->secondary_channel = iface->secondary_ch;
556 ieee802_11_set_beacons(iface);