dynamic_if = drv->ifindex == drv->global->if_add_ifindex;
dynamic_if = dynamic_if || drv->global->if_add_wdevid_set;
- drv->global->if_add_wdevid_set = 0;
-
+-
- if (wpa_driver_nl80211_capa(drv))
- return -1;
-
- wpa_printf(MSG_DEBUG, "nl80211: interface %s in phy %s",
- bss->ifname, drv->phyname);
--
+
-#ifndef HOSTAPD
if (dynamic_if)
nlmode = nl80211_get_ifmode(bss);
#include "drivers/driver.h"
#include "wpa_supplicant_i.h"
#include "config.h"
-@@ -245,6 +246,9 @@ static void calculate_update_time(const
+@@ -245,6 +246,9 @@ static void calculate_update_time(const
static void wpa_bss_copy_res(struct wpa_bss *dst, struct wpa_scan_res *src,
struct os_time *fetch_time)
{
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
-@@ -974,11 +974,8 @@ int hostapd_setup_interface_complete(str
+@@ -975,11 +975,8 @@ int hostapd_setup_interface_complete(str
size_t j;
u8 *prev_addr;
wpa_printf(MSG_DEBUG, "Completing interface initialization");
if (hapd->iconf->channel) {
-@@ -998,7 +995,7 @@ int hostapd_setup_interface_complete(str
+@@ -999,7 +996,7 @@ int hostapd_setup_interface_complete(str
hapd->iconf->vht_oper_centr_freq_seg1_idx)) {
wpa_printf(MSG_ERROR, "Could not set channel for "
"kernel driver");
}
}
-@@ -1009,7 +1006,7 @@ int hostapd_setup_interface_complete(str
+@@ -1010,7 +1007,7 @@ int hostapd_setup_interface_complete(str
hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211,
HOSTAPD_LEVEL_WARNING,
"Failed to prepare rates table.");
}
}
-@@ -1017,14 +1014,14 @@ int hostapd_setup_interface_complete(str
+@@ -1018,14 +1015,14 @@ int hostapd_setup_interface_complete(str
hostapd_set_rts(hapd, hapd->iconf->rts_threshold)) {
wpa_printf(MSG_ERROR, "Could not set RTS threshold for "
"kernel driver");
}
prev_addr = hapd->own_addr;
-@@ -1034,7 +1031,7 @@ int hostapd_setup_interface_complete(str
+@@ -1035,7 +1032,7 @@ int hostapd_setup_interface_complete(str
if (j)
os_memcpy(hapd->own_addr, prev_addr, ETH_ALEN);
if (hostapd_setup_bss(hapd, j == 0))
if (hostapd_mac_comp_empty(hapd->conf->bssid) == 0)
prev_addr = hapd->own_addr;
}
-@@ -1048,7 +1045,7 @@ int hostapd_setup_interface_complete(str
+@@ -1049,7 +1046,7 @@ int hostapd_setup_interface_complete(str
if (hostapd_driver_commit(hapd) < 0) {
wpa_printf(MSG_ERROR, "%s: Failed to commit driver "
"configuration", __func__);
}
/*
-@@ -1069,6 +1066,11 @@ int hostapd_setup_interface_complete(str
+@@ -1070,6 +1067,11 @@ int hostapd_setup_interface_complete(str
iface->bss[0]->conf->iface);
return 0;
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
-@@ -2488,6 +2488,10 @@ static int hostapd_config_fill(struct ho
+@@ -2490,6 +2490,10 @@ static int hostapd_config_fill(struct ho
"ht_capab", line);
errors++;
}
#endif /* CONFIG_IEEE80211N */
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
-@@ -519,6 +519,7 @@ struct hostapd_config {
+@@ -520,6 +520,7 @@ struct hostapd_config {
int ieee80211n;
int secondary_channel;
int require_ht;
/**
* wpa_hexdump_ascii_key - conditional hex dump, hide keys
-@@ -138,8 +173,14 @@ void wpa_hexdump_ascii(int level, const
+@@ -138,8 +173,14 @@ void wpa_hexdump_ascii(int level, const
* bytes per line will be shown. This works like wpa_hexdump_ascii(), but by
* default, does not include secret keys (passwords, etc.) in debug output.
*/
}
return hapd_iface;
-@@ -437,8 +448,6 @@ static void hostapd_global_deinit(const
+@@ -437,8 +448,6 @@ static void hostapd_global_deinit(const
#endif /* CONFIG_NATIVE_WINDOWS */
eap_server_unregister_methods();
iapp_deinit(hapd->iapp);
hapd->iapp = NULL;
accounting_deinit(hapd);
-@@ -829,6 +830,8 @@ static int hostapd_setup_bss(struct host
+@@ -830,6 +831,8 @@ static int hostapd_setup_bss(struct host
if (hapd->driver && hapd->driver->set_operstate)
hapd->driver->set_operstate(hapd->drv_priv, 1);
return 0;
}
-@@ -979,6 +982,7 @@ int hostapd_setup_interface_complete(str
+@@ -980,6 +983,7 @@ int hostapd_setup_interface_complete(str
if (err)
goto error;
wpa_printf(MSG_DEBUG, "Completing interface initialization");
if (hapd->iconf->channel) {
iface->freq = hostapd_hw_get_freq(hapd, hapd->iconf->channel);
-@@ -1071,6 +1075,7 @@ int hostapd_setup_interface_complete(str
+@@ -1072,6 +1076,7 @@ int hostapd_setup_interface_complete(str
error:
wpa_printf(MSG_ERROR, "Interface initialization failed");
eloop_terminate();
return -1;
}
-@@ -1169,6 +1174,8 @@ void hostapd_interface_deinit_free(struc
+@@ -1170,6 +1175,8 @@ void hostapd_interface_deinit_free(struc
void *drv_priv;
if (iface == NULL)
return;