Browse Source

hostapd: Don't force HT Mixed Mode for non-GF STAs

Currently hostapd will force HT Mixed Mode if at least one non-GF STA is
associated. This will force _all_ HT transmissions to be protected.

802.11n-2009 doesn't require HT Mixed Mode to be used in case of non-GF
STAs but instead the HT information element contains a flag if non-GF
STAs are present. All STAs are required to protect GF transmissions in
that case. Hence, setting HT Mixed mode if non-GF STAs are present is
superfluous.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Helmut Schaa 14 years ago
parent
commit
4f6bd86d07
1 changed files with 1 additions and 7 deletions
  1. 1 7
      src/ap/ieee802_11_ht.c

+ 1 - 7
src/ap/ieee802_11_ht.c

@@ -93,7 +93,6 @@ Set to 1 (HT non-member protection) if there may be non-HT STAs
 Set to 2 if only HT STAs are associated in BSS,
 Set to 2 if only HT STAs are associated in BSS,
 	however and at least one 20 MHz HT STA is associated
 	however and at least one 20 MHz HT STA is associated
 Set to 3 (HT mixed mode) when one or more non-HT STAs are associated
 Set to 3 (HT mixed mode) when one or more non-HT STAs are associated
-	(currently non-GF HT station is considered as non-HT STA also)
 */
 */
 int hostapd_ht_operation_update(struct hostapd_iface *iface)
 int hostapd_ht_operation_update(struct hostapd_iface *iface)
 {
 {
@@ -131,13 +130,8 @@ int hostapd_ht_operation_update(struct hostapd_iface *iface)
 		op_mode_changes++;
 		op_mode_changes++;
 	}
 	}
 
 
-	/* Note: currently we switch to the MIXED op mode if HT non-greenfield
-	 * station is associated. Probably it's a theoretical case, since
-	 * it looks like all known HT STAs support greenfield.
-	 */
 	new_op_mode = 0;
 	new_op_mode = 0;
-	if (iface->num_sta_no_ht ||
-	    (iface->ht_op_mode & HT_INFO_OPERATION_MODE_NON_GF_DEVS_PRESENT))
+	if (iface->num_sta_no_ht)
 		new_op_mode = OP_MODE_MIXED;
 		new_op_mode = OP_MODE_MIXED;
 	else if ((iface->conf->ht_capab & HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET)
 	else if ((iface->conf->ht_capab & HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET)
 		 && iface->num_sta_ht_20mhz)
 		 && iface->num_sta_ht_20mhz)