aboutsummaryrefslogtreecommitdiffstats
path: root/hostapd
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2014-03-06 13:38:44 -0800
committerDmitry Shmidt <dimitrysh@google.com>2014-03-06 13:38:44 -0800
commita38abf9af7bec7e89dbfb39ac7bb77223fe47c72 (patch)
treebe3bf30b209c48e4f69b428be9579dbeb7628c9b /hostapd
parent7d5c8f257a74ac0d12828962a492e8b84ef83923 (diff)
downloadandroid_external_wpa_supplicant_8-a38abf9af7bec7e89dbfb39ac7bb77223fe47c72.tar.gz
android_external_wpa_supplicant_8-a38abf9af7bec7e89dbfb39ac7bb77223fe47c72.tar.bz2
android_external_wpa_supplicant_8-a38abf9af7bec7e89dbfb39ac7bb77223fe47c72.zip
Cumulative patch from commit 905828fea4b95a6d48ce86e1b5272c25a618b3d8
905828f hostapd: Fix vht_capab 'Maximum A-MPDU Length Exponent' handling 89de64c ACS: Fix VHT80 segment picking 1f37483 DFS: Print error in case CAC fails 354c903 AP/GO interface teardown optimization 8bc4372 Use P2P_IE_VENDOR_TYPE more consistently 8714caa WPS: Parse Registrar Configuration Methods 6b9f7af nl80211: Extend the new vendor command for testing nl80211 3a94adb P2P: Do not start scan for P2P Device interfaces at driver init aa10983 P2P: Do not initialize bgscan on P2P interfaces 819f096 nl80211: Fix RTM event handling for dynamic interfaces 54ac5aa config: Add bgscan option when saving global configuration 268043d bgscan: Do not initialize bgscan if disabled by user adef894 nl80211: Add vendor command support d0595b2 nl80211: Fix tearing down WDS STA interfaces Change-Id: I6d49f445692b71a4cd324f517eba651518ee14bb Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'hostapd')
-rw-r--r--hostapd/config_file.c16
-rw-r--r--hostapd/main.c6
2 files changed, 19 insertions, 3 deletions
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
index fa7d14a8..bd664743 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
@@ -1096,8 +1096,20 @@ static int hostapd_config_vht_capab(struct hostapd_config *conf,
conf->vht_capab |= VHT_CAP_VHT_TXOP_PS;
if (os_strstr(capab, "[HTC-VHT]"))
conf->vht_capab |= VHT_CAP_HTC_VHT;
- if (os_strstr(capab, "[MAX-A-MPDU-LEN-EXP0]"))
- conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT;
+ if (os_strstr(capab, "[MAX-A-MPDU-LEN-EXP7]"))
+ conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MAX;
+ else if (os_strstr(capab, "[MAX-A-MPDU-LEN-EXP6]"))
+ conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_6;
+ else if (os_strstr(capab, "[MAX-A-MPDU-LEN-EXP5]"))
+ conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_5;
+ else if (os_strstr(capab, "[MAX-A-MPDU-LEN-EXP4]"))
+ conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_4;
+ else if (os_strstr(capab, "[MAX-A-MPDU-LEN-EXP3]"))
+ conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_3;
+ else if (os_strstr(capab, "[MAX-A-MPDU-LEN-EXP2]"))
+ conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_2;
+ else if (os_strstr(capab, "[MAX-A-MPDU-LEN-EXP1]"))
+ conf->vht_capab |= VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_1;
if (os_strstr(capab, "[VHT-LINK-ADAPT2]") &&
(conf->vht_capab & VHT_CAP_HTC_VHT))
conf->vht_capab |= VHT_CAP_VHT_LINK_ADAPTATION_VHT_UNSOL_MFB;
diff --git a/hostapd/main.c b/hostapd/main.c
index 30269293..68bc9b58 100644
--- a/hostapd/main.c
+++ b/hostapd/main.c
@@ -728,8 +728,12 @@ int main(int argc, char *argv[])
out:
hostapd_global_ctrl_iface_deinit(&interfaces);
/* Deinitialize all interfaces */
- for (i = 0; i < interfaces.count; i++)
+ for (i = 0; i < interfaces.count; i++) {
+ interfaces.iface[i]->driver_ap_teardown =
+ !!(interfaces.iface[i]->drv_flags &
+ WPA_DRIVER_FLAGS_AP_TEARDOWN_SUPPORT);
hostapd_interface_deinit_free(interfaces.iface[i]);
+ }
os_free(interfaces.iface);
hostapd_global_deinit(pid_file);